GSoC2011 Google Summer of Code 2011

From AuthPuppy Wiki

Jump to: navigation, search

In the prospect of applying to the Google Summer of Code 2011, here is the ideas page, for both the AuthPuppy auth server and the wifidog gateway. Ideas are projects that a student can apply for. They should be feasible in a three month's period and there can be links to bug reports or specifications.

If suggesting an idea, please add your name as either a mentor or ressource person on this project.

Relating links:
[AuthPuppy development on launchpad]
[Documentation on the wifidog gateway]


Contents

AuthPuppy auth server

The AuthPuppy auth server is a php application using the symfony framework. No prior knowledge of the symfony framework is required, but the development tries to follow the best practices of the framework, so reading about it would be mandatory and getting fluent with it will be a side-effect of working with this program.

Related links:
[Symfony documentation]: The practical symfony tutorial for Doctrine is a good place to start
[Symfony project homepage]


Plugin to warn node administrators when a hotspot is down

When a hotspot becomes down for some time, it should be possible to automatically send an email to its administrator to warn him the hotspot is down and something might be wrong.


Useful skills php
Difficulty Beginner
Related links [Launchpad blueprint for this functionnality]
Mentor Geneviève Bastien


Plugin to support of hierarchy of access points

While some hotspot installations mean only one router/device in one physical place, some may require more. In that case, it should be useful to add the concept the "venue" as the physical place with a unique address or location, but with multiple nodes or devices.


Useful skills php
Difficulty Beginner
Related links [Blueprint for this functionnality]
Mentor Geneviève Bastien


Plugin to support multiple networks

Some organisations want to have one authentication server to manage multiple networks of access points. For instance, each network should have its own users, nodes, authenticators, policies, etc. And someone having rights to one network should not be able to see any options from the other.

The student would have to work closely with the development team as this plugin is an important one and requires changes to be made to the core of the system, either by him or by other developers.

Useful skills php
Difficulty Moderate
Related links [Launchpad blueprint for this project]
Mentor Geneviève Bastien


Build unit and integration test suites

We all know the importance of this but very few developers ever get to work on it: unit tests and integration tests. The symfony framework has a full set of classes to help the development of these tests and it they were present, a simple command would be enough to run all test suites after modifications to the code.

Close discussion with the developers would be necessary to know what to test for.

Useful skills php
Difficulty Beginner
Related links [Symfony tutorial]
Mentor Geneviève Bastien


Wifidog gateway

The wifidog gateway is a piece of C software who listens on a network interface, redirects new users to the authentication server and then monitors connection on this interface by periodically communicating with the auth server and acting consequently to the response.

Wifidog/open-mesh compatibility

This feature has been asked by many communities, how to use the same wifidog/authpuppy server with open-mesh nodes. Many possibilities have been thought of, but no definitive proposition has been done. The student would need to be very proactive on this one, as he may need to interact with people not only on the wifidog/AuthPuppy project, but also the open-mesh open source project.

Completing this task would open up possibilities for wifidog/authpuppy networks, allowing mixed networks of open-mesh access points and simple wireless access points.

Prior knowledge of embedded systems and how to compile firmware images a definite plus. If needed equipment may be made available to the student.

Useful skills C, embedded systems, networking, routing
Difficulty advanced
Related links [Launchpad blueprint for this functionnality]

[Launchpad discussion on the subject]
[Open-mesh]

Mentor Geneviève Bastien

Support for IPv6

With the last blocks of IPv4 addresses having been assigned, it is inevitable that sooner or later, people will have to move to IPv6. We have to make the appropriate changes to the wifidog/AuthPuppy for it to be fully compatible on an IPv6 network.

This project may involve mostly working on the wifidog gateway, but some changes may need to be done on the auth server side. The student may work on both parts or work with the AuthPuppy auth server development team to implement the needed features on the AuthPuppy server.

Useful skills C, embedded systems, networking, routing[, php]
Difficulty advanced
Related links
Mentor

Wifidog new gateway-auth/server protocol

When wifidog was first designed, it used a home-made protocol that was not the most effective, and it has used this protocol ever since. As the number of nodes on a network increased, this protocol becomes too demanding as it uses one query for every connected user every x minutes.

A second protocol was designed, but never implemented, but now should be a good time to implement it.

This project would involve both implementing the protocol in the gateway program in C, but also have the authpuppy server support it. The student would also have to work closely with the development team, as the spec is dated and may need to be reviewed.


Useful skills C, php
Difficulty moderate
Related links http://dev.wifidog.org/wiki/doc/developer/WiFiDogProtocol_V2
Mentor
Personal tools