Google Summer of Code 2017


The 4th of May  I received an email whose subject read “GSoC 2017: Congratulations, your proposal with OpenWisp has been accepted!”. Yeah!!!

The Project

Django-radius is the fantastic project I will spend my summer working on.  Django-radius is a web interface for freeradius.  But what is it exactly freeradius?

FreeRADIUS is the most popular open source RADIUS server and the most widely deployed RADIUS server in the world. It supports all common authentication protocols, and the server comes with a PHP-based web user administration tool called dialupadmin. It is the basis for many commercial RADIUS products and services, such as embedded systems, RADIUS appliances that support Network Access Control, and WiMAX. It supplies the AAA needs of many Fortune-500 companies, telcos, and Tier 1 ISPs. It is also widely used in the academic community, including eduroam. The server is fast, feature-rich, modular, and scalable”. 

Measurable outcomes:

  • implement a reusable django app which allows to manage the main freeradius database tables (session/accounting, check, group, nas, reply) via the django-admin
  • model references to the User must should be implemented using the swappable user model mechanism of django and default to django.contrib.auth.models.User
  • implement a “batch add users” feature, each batch operation and its details must be saved to the database
  • implement a RESTful API through which authorized users will be able to retrieve radius sessions, this API must be implemented using django REST framework
  • achieve a test coverage higher than 80%
  • provide documentation using python-sphinx, the documentation must be included in a docs/ directory in the repository


Stay tuned for future posts, I will try to explain what I am doing, and how I do it, with all the tricky details.