# OpenVPN Hackathon 2016

## who
This year's hackathon is organized by Lev Stipakov (lev__).

We will stick to the format of the previous years, which means attendance is in principle limited to "active developers that are also regularly contributing to #openvpn-devel or the mailing list". We should have enough space in the meeting room for ~10 devs.

## who is coming?

| Name             | Topics                                                            | Arrival                          | Departure                        | Hotel                                 |
|------------------|-------------------------------------------------------------------|----------------------------------|----------------------------------|---------------------------------------|
| Lev Stipakov     | -                                                                 | Wed                              | Sun                              | Holiday Inn                           |
| David Sommerseth | query-user, systemd, d-bus, auth-token, fips                      | Thu Sept 15, 15:40 (Finnair 656) | Mon Sept 19, 12:15 (Finnair 655) | Radisson Blu Seaside Hotel (Ruoholahdenranta 3) |
| Arne Schwabe     | MTU problems                                                      | Thu Sept 15, 15:10 AY0704        | Staying a bit longer to explore Helsinki | - |
| Steffan Karger   | tls-crypt, user-specific tls-auth                                 | Fri 13:20 (KLM1167)              | Sun 18:15 (KLM1170)              | Holiday Inn                           |
| Gert Döring      | 2.4, testing                                                      | Fri 12:40 (LH2462)               | Sun 19:25 (LH2465)               | Holiday Inn                           |
| ~~Adriaan de Jong~~ | ...                                                             | ~~Fri 13:20 (KLM1167)~~          | ~~Sun 18:15 (KLM1170)~~          | ~~Holiday Inn~~                      |
| Samuli Seppänen  | OpenVPN 3.x                                                       | Thu 16:23 (train)                | Mon                              | -                                     |
| James Yonan      |                                                                   | Thu                              | Mon                              | Holiday Inn                           |
| Heiko Hund       |                                                                   | Thu.                             | Mon.                             | Scandic Grand Marina                 |

## where?

The meeting is held at the office of F-Secure: [Tammasaarenkatu 7, Helsinki, Finland](https://www.google.fi/maps/place/Tammasaarenkatu+7,+00180+Helsinki/@60.1615776,24.904545,17z/data=!3m1!4b1!4m5!3m4!1s0x46920a4f3181845:0x49f2c671fe3f120b!8m2!3d60.1615749!4d24.9067337?hl=en). You will be given a temporary ID card at the front desk.

Both Holiday Inn hotel and our office are easily reachable by public transport - there is a metro station Ruoholahti [a few hundred meters away](https://www.google.fi/maps/dir/Ruoholahden+metroasema,+Helsinki/Tammasaarenkatu+7,+00180+Helsinki/@60.1626167,24.9102654,17z/data=!4m14!4m13!1m5!1m1!1s0x46920a496884d6eb:0xa732d2873ace2091!2m2!1d24.9138961!2d60.1632683!1m5!1m1!1s0x46920a4f30181845:0x49f2c671fe3f120b!2m2!1d24.9067337!2d60.1615749!3e2?hl=en). From the Helsinki Vantaa Airport you could take a train to Helsinki Central Railway Station (Rautatientori) and from there 2 metro stops to Ruoholahti.

If you have any questions - please contact Lev at +358 40 0453610.

## when?

The hackathon will take place from Sep 16 (Friday), 2016 to Sep 18 (Sunday).

## what?

So what is the goal of the Hackathon?

- Introduce a IV_PROTO=3 and remove -master only but always there IV_xx? (every compression also as V2 version, IV_RGI6, IV_TCPNL (when implemented before 2.4))
- Meet in person, talk about things
  - Future development of 2.x and 3.x
- Hack on the 2.4 codebase - there's a number of "large" things we could try to tackle
  - Support for negotiable ciphers and "null-compression"
  - Support for control channel encryption ('tls-crypt') and user-specific tls-auth ('tls-cookie')
  - How to handle servers with v4+v6 addresses and roaming clients (3G/wifi) that roam from between various brokenness variants, like "from v6+NAT64 3G to native v6 Wifi" or "to v4-only Wifi", etc.
- Go through the list of pending patches and ACK/NACK them or assign person to review them 
- Work on open trac issues
  - Lots of things to review and bugs to fix
- OpenVPN 3
  - Release the tap-windows6 header file additionally under the MIT license
    - This originated from Thermi of the Freeswan project
    - It was agreed that this is a reasonable request  

We're all open for additions here - I think the meetings in Brussels (2011+2012), Munich (2013+2014) and Delft (2015) have shown that "just being able to sit together and hack" is a useful exercise.

## Internet

Free Wifi is available.

## accommodation

Probably the closest hotel is [Holiday Inn Ruoholahti](http://www.booking.com/hotel/fi/hoildayinncitywest.html).

## results

- OpenVPN 3
  - Released to [GitHub](https://github.com/OpenVPN/openvpn3)
  - Contributor Agreement. Discussed a draft for a contributor agreement to the OpenVPN 3 code base. It is based on the [DCO](http://www.developercertificate.org/) which is used by the Linux kernel as well as several other projects, but it has an extension to allow OpenVPN Technologies to re-license contributions, but also includes a promise that OpenVPN Technologies, Inc will share any changes to said contributions. Dazo will reach out to some contacts with legal expertise so OpenVPN Technologies can get a proper legal review on this agreement.
  - OpenVPN 3 walk through - James did a couple of sessions walking through parts of the OpenVPN 3 code base.
- OpenVPN 2.4
  - A semi-automated Windows test script was created. This will give us more confidence in the Windows code before making the alpha1 release.
  - Discussed adding server-side support to OpenVPN 3. Even though OpenVPN 3 codebase would be much easier to work with than OpenVPN 2's codebase, adding server support would be a significant effort. 
  - Many Trac tickets were resolved or closed
  - Buildbot setup was improved significantly, with the addition of a MacOS X buildslave and general fixes and cleanups. That said, many buildslaves require exceptions in various parts, so further refactoring and cleanup might be in order.
- D-Bus integration in OpenVPN 2.x and 3.x
  - cron2: "Resistance is futile".
  - This adds interesting possibilities and it makes sense for OpenVPN 3 code base. However, there are concerns about the complexity of adding it to the current OpenVPN 2 code base. There are also some concerns that this will primarily be used on Linux only, as many *BSD installs do not install D-Bus packages.
- Next year hackathon's
  - We discussed the location. One option would be [Karlsruhe](https://en.wikipedia.org/wiki/Karlsruhe) in Germany, as Sophos has an office there and Heiko works there. Another option would be to meet in the United States; cost-wise areas near the major airports with direct flights from Europe (Chicago or New York) would be best.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9