[kea-dev] GSoC 2019 with ISC and Kea

James Wang wskynevermore at gmail.com
Sun Mar 3 12:08:39 UTC 2019

Hello Kea Developers,

I am James Wang, a computer science student from The Chinese University of
Hong Kong, Shenzhen.
I am interested in network internals and network security (because of
China's Internet Censorship) before I choose to study computer science. In
all GSoC organizations, ISC is the few ones that are related to network
internals, and the Kea project offers ideas that I believe I can tackle in
3 months' time. Therefore, I want to participate in GSoC 2019 with ISC and
the Kea project.
I would like to tackle Idea No.3 HTTP GET Support. Although No.6 LDAP
backend and No.8 leasequery support also sound attractive to me, I think I
have the highest chance of success in Idea No.3, because I have past
experience in socket programming, web backend development and HTTP protocol.
Here's my draft plan. If my project succeeded, all builtin read-only APIs
in Kea Control Agent would have a GET endpoint. In addition, Kea would have
a health endpoint API (Issue #318

   1. Find all read-only APIs and map each one to a GET endpoint
   2. Add a GET request parser to the HTTP server, if there is none
   3. Serve GET request by converting them into their equivalent POST
   4. Write documentations on all GET endpoints and how to configure
   reverse proxy servers (apache2, nginx) to GET-only
   5. Implement health endpoint API with both GET and POST support (Issue
   #318 <https://gitlab.isc.org/isc-projects/kea/issues/318>)
   6. I believe we should keep the existing POST methods, for backward
   compatibility and consistent APIs. New read-only APIs should also support
   POST methods
   7. If time and my ability permit, add a way for hook libraries to define
   their own GET endpoint

I have successfully built and installed Kea (1.5.0-git) with unit tests and
MySQL support on a Ubuntu VM. My build passed the unit tests ("make
check"). I tested the build's DHCPv4 server with a Windows XP VM and a
Windows 7 VM. Both clients were assigned a valid IP address and could
access the NAT network and Internet. My Windows 10 host was also assigned a
valid IP address. Now I'm reading the source code and documentations,
trying to understand the implementation of the HTTP server and Kea Control

I would appreciate any suggestions and tips. Thanks for your time.

Best Regards,
James Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-dev/attachments/20190303/b4a26e62/attachment.html>

More information about the kea-dev mailing list