wiki:MunichHackathon2014

Version 1 (modified by Gert Döring, 10 years ago) (diff)

create!

OpenVPN Hackathon 2014

who

This is organized by Gert Döring (cron2) and sponsored by Spacenet AG (http://www.space.net/).

We have space for about 10 people in the conference room I have booked so far, so I'd limit this to "active developers that are also regularily contributing to #openvpn-devel or the mailing list". If there is overwhelming interest, I can get a larger room, but then the address listed below would change (still in Munich, but not as centrally located).

who is coming?

Name Topics Arrival Departure
Gert Döring no particular topics Fri morning-ish Sun, late night

where?

We'll meet in one of the office locations of Spacenet. The address is:

SpaceNet AG
Landsberger Strasse 155
80687 München (Munich)
Germany

see google maps. The entrance is in the upper left corner on the inside of the "#" formed building.

Inside the "#", there are 4 entries in each of the corners, marked as "Haus 1" to "Haus 4". Take the entry "Haus 4". There is a reception for Cable&Wireless and SpaceNet? there. Tell the security guy that you want to visit SpaceNet?, and he'll call me or one of my colleagues and we'll pick you up (SpaceNet? is on the 1st floor of Haus 4). The guard will require some sort of deposit - ID card, driver license, etc - to ensure people properly check out at leaving.

This location is easy to reach by car or by public transport (Tram from central station).

Specifically:

  • if you arrive by plane, take S-Bahn S1 or S8 (it's a circle, S1 goes left, S8 goes right) and exit after about 45 minutes at "Hirschgarten" or "Donnersbergerbrücke". About 10 minutes walk from there, or take the Tram 18/19 for the remainder.
  • if you end up near the central station (either arriving by train, or with the S-Bahn), exit the central station on the south side, take Tram 18 or 19 towards Willibaldplatz / Gondrellplatz (westwards), and exit at "Lokschuppen". Landsberger Strasse is the street the Tram travels, 155 is across the street next to the "Bauhaus" market
  • if you come by car, parking in the vicinity is a bit problematic. You can park in the "Bauhaus" garage but that's "for their customers only", so you'd need to relocate to the SpaceNet? parking garage when the SpaceNet? crew has left (no guest parking there, unfortunately). We'll find something.

If you get lost, call me: +49 177 2160221

when?

The hackathon will take place from Nov 14 (Friday), 2013 to Nov 16 (Sunday). The room is ours for the full 3 days, and I (cron2) will be there at Friday 09:30-ish. I have no confirmed arrival dates from anyone else yet...

food

I'll sponsor soft drinks and snacks, and the conference room, and I'll sponsor a "Weisswurstfrühstück" for Saturday.

Food planning is yet undecided.

what?

So what is the goal of the Hackathon?

  • meet in person, talk about things
    • contributors agreement (CLA) for OpenVPN 3
    • future development of 2.x and 3.x
    • GPL violation on multiple apps on the play store
  • hack on the 2.4 codebase - there's a number of "large" things we could try to tackle
    • dual-stack patches
    • openvpn interactive service
  • work on open trac issues
    • lots of things to review and bugs to fix

I'm all open for additions here - I think the meetings in Brussels and Munich 2013 have shown that "just being able to sit together and hack" is a useful excercise.

Internet

of course there will be free WiFi? available, and for bandwidth junkies, wired Internet as well :-) - Spacenet is an Internet service provider, and that's one of their core locations, connected with multiple 10Gbit links to the world...

accomodation

  • "Motel One Munich City West" has been recommended as "being close, reasonably priced, and generally OK"

results

This is just a sort of unordered list of things we agree on, to avoid thoughts getting lost

(Since the hackathon hasn't happened, I'm just listing things here that need coverage - a number of them already agreed last year, but not yet done)

  • --float with TLS HMAC / new packet format
  • OpenVPN 3
  • plan for the technical development of 2.4 and 3?
    • 2.4 (cron2): IPv6 enhancements
      • handle overlapping IPv6 server address and pushed IPv6 routes ("2001:608::/32 and server inside 2001:608::/32 -> recursive routing"). This is done for IPv4 but not IPv6 yet. Ask OS for default gateway, install route to OpenVPN server to that gateway, then install pushed routes. Cleanup on exit.
      • --block-ipv6 for mobile clients (blocking inside OpenVPN)
  • windows and the interactive service
    • end result: while not in full agreement on details, we'll go forward with what d12fk already has ("working code" trumps "perfect world").
  • packet format and alignment (James/--tls-float patch)
    • HMAC and encrypted data is not 32bit aligned today due to the opcode
    • propose to byte-swap the opcode with the last byte in the packet, so after swapping back the HMAC is 32bit aligned
    • can be done by sending IV_PROTO=<supported max version> by the client (server can then immediately turn it on) and pushing "wire-proto <x>" from the server to the client (and then the client can immediately turn it on)
    • slightly related: include session ID in the data packet, "if you feel like it might be needed"? (to handle --float in TLS-mode without opening ourselves to UDP->HMAC CPU DoS)
    • "don't send it more than 1/second, don't send it unless you have heard from the server for more than <n> seconds"...
    • watch out for MTU jumps -> "set aside that amount of space even if not used"
    • TODO:
      • define opcodes for "wire-protocol 2" for "short/swapped mode" and "swapped mode with session id"
      • add "wire-protocol 2" to option.c etc
      • add push-peer-info IV_PROTO=2
      • add logic to server to read IV_PROTO and push "wire-protocol <x>" to the maximum supported by client and server