GUADEC’16 report

I got a chance to attend GUADEC’16 which happened in Karlsruhe, Germany from 11 – 17 August. I stayed for the whole duration including Workshop Day, core days and the later BOF days which were very learning. I’m grateful to my mentor David Woodhouse who guided me all the time. I thank GNOME community for giving me the chance to speak at intern lightning talk and i tried my best to present my project in front of those great people. I hope to get a chance someday again to speak up. We have finished our GSoC project so i am free now to wander around to find some more places and tasks in GNOME’s huge shelter. My experience of attending GUADEC was awesome, despite being a less speaker i was very comfortable to talk and interact to people in the community. I made some new friends in the community and i came to know a lot more about it. I loved attending social events after the long day of great and motivating talks. I am thankful to the GUADEC organizers, i didn’t feel any problem for a second staying 6,000 kms away from home.

Now looking at the pics make me feels like missing those chaos and fun, which i do not want to miss in future. I look forward to see all of you again.

Here are some photos:

I again want to thank GNOME for sponsoring me to attend the conference. I hope to be useful and be an extra hand for the community in coming days.

Thanks 🙂


GSoC’16 Work Product

I spent my 2016’s summer doing a GSoC Project titled as ‘Proxies in NetworkManager’. I worked with NetworkManager team and also contributed to PacRunner which forms a very important part of this project.

I feel privileged to be mentored by David Woodhouse for the project. The project is more closely described here.

In short, the goal of this project was to bring proxies to be properly used and not to be skipped because of several issues the previous design had.

Milestones have been achieved in steps which are briefly pointed in:

Related Blogs:

Project required work in three packages and they are NetworkManager, PacRunner  and nm-applet.

PacRunner part was an independent and important one. The commit links of patches which i submitted and were accepted:

Patches that were submitted at the time of writing this blog:

Then i moved to NetworkManager daemon and submitted patches for proxy support:

The confirmation mail of patches being accepted:

When everything was working alright i stepped ahead and submitted patches for providing proxy feature via GUI (nm-connection-editor):

Patches are also stored in Google Drive Folder.


04-10-2016: Patches merged in NM master:

05-10-2016: Patches merged in PACRunner master:


Enjoy Proxying.

My last post explained proxy usage via GUI, but many times we are comfortable with command line. NetworkManager team provides us both of the ways to control NetworkManager daemon as nm-connection-editor (GUI) and nmcli (CLI) ,there is even a cursor based client : nmtui.  nmcli is usually the primary way to control NM, So providing a feature without nmcli support is an incomplete task. I have modified nmcli to allow users edit proxy setting via command line.

First see the list of connection:

[atulhjp@localhost ~]$ nmcli connection

Then initialize the proxy setting:

[atulhjp@localhost ~]$ nmcli connection modify <con-name> proxy.method none/auto/manual

Then add properties according to method (if ‘auto’) :

[atulhjp@localhost ~]$ nmcli connection modify <con-name> proxy.pac-url

If we try to add properties not valid for that method, nmcli will through a message like this:

[atulhjp@localhost ~]$ nmcli connection modify veth0+ proxy.http-proxy
Error: Failed to modify connection ‘veth0+’: proxy.http-proxy: this property is not allowed for method=auto/none

Message clearly says the ‘http-proxy’ is not for method=none or auto. We need to change method to ‘manual’. So, users don’t need to remember the properties for a method as nmcli won’t set it for unrelated properties and method.  🙂

If someone sets this:

[atulhjp@localhost ~]$ nmcli connection modify <con-name> proxy.method none

No Proxy will be used for that connection, WPAD obtained value is lost and if we set ‘auto’ WPAD obtained value is used unless someone overrides it by,

[atulhjp@localhost ~]$ nmcli connection modify <con-name> proxy.method auto

[atulhjp@localhost ~]$ nmcli connection modify <con-name> proxy.pac-url <overriding Url>

Proxy Feature will be available in NM in upcoming major release 1.4 .