Hi,

Here's the summary of the previous community meeting.

---

COMMUNITY MEETING

Place: #openvpn-discussion on irc.freenode.net
List-Post: openvpn-devel@lists.sourceforge.net
Date: Thursday, 11th March 2010
Time: 18:00 UTC

Planned meeting topics for this meeting were on this page:

http://www.secure-computing.net/wiki/index.php/OpenVPN/IRC_meetings/Topics-2010-03-11


Next meeting next week, same place, same time.


SUMMARY

Decided to include the following patches in "testing":

* [PATCH] On TARGET_LINUX define _GNU_SOURCE if not defined
  - a.k.a. "Gentoo patch"
  - http://thread.gmane.org/gmane.network.openvpn.devel/3303

Decided to ask users to test the following patch on pre-Debian Lenny
distros before giving it an ACK:

* [PATCH] The man page needs dash escaping in UTF-8 environments
  - works on Debian Lenny / Squeeze and Ubuntu 9.10 using UTF8/C locales
  - http://thread.gmane.org/gmane.network.openvpn.devel/3209

Decided to ask our users whether they need support for old autotools
versions. If not, support for old autotools (e.g. the one in RHEL4.x)
can safely be dropped if we wish. Also decided to check out what
benefits moving to newer autotools version would give us. Note that
autotools is required when building OpenVPN from SVN/Git, but not when
building from release tarballs.

Decided to ask author of this patch to fix the issues with this patch:

* NON_CBC_CIPHER bug / [PATCH] Don't ASSERT() on stream cipher
 - http://thread.gmane.org/gmane.network.openvpn.devel/3286
-https://sourceforge.net/tracker/index.php?func=detail&aid=1552062&group_id=48978&atid=454721

Decided to wait for additional clarifications to following issue:

* HMAC calculation questions
  - http://thread.gmane.org/gmane.network.openvpn.devel/3279
  - http://thread.gmane.org/gmane.network.openvpn.devel/3294

Discussed this issue in great length:

* Supporting "route-gateway dhcp" on non-Windows
  - http://thread.gmane.org/gmane.network.openvpn.devel/3260/

---

Full chatlog as an attachment


-- 
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock
11:57 -!- jamesyonan [~jamesy...@c-76-120-71-74.hsd1.co.comcast.net] has joined 
##openvpn-discussion
12:00 <@mattock> hi james!
12:01 < dazo> Hi y'all!
12:01 -!- Kas [~k...@adsl-71-140-186-190.dsl.pltn13.pacbell.net] has joined 
##openvpn-discussion
12:01 -!- mode/##openvpn-discussion [+v Kas] by ChanServ
12:01 <@mattock> so dazo made a list of todays topics here: 
http://www.secure-computing.net/wiki/index.php/OpenVPN/IRC_meetings/Topics-2010-03-11
12:01 < vpnHelper> Title: OpenVPN/IRC meetings/Topics-2010-03-11 - Secure 
Computing Wiki (at www.secure-computing.net)
12:01 <@mattock> btw thanks dazo :)
12:02 < dazo> mattock:  you're welcome :)
12:02 <@mattock> what about this HMAC issue: 
http://sourceforge.net/mailarchive/forum.php?thread_name=COL113-W51C6B9F7CC25D3F2F3F11EBA330%40phx.gbl&forum_name=openvpn-devel
12:02 < vpnHelper> Title: SourceForge.net: OpenVPN: openvpn-devel (at 
sourceforge.net)
12:02 < jamesyonan> Hi all
12:03 <@mattock> is it something we should look at
12:03 <@mattock> ?
12:04 < dazo> This person sent me an e-mail directly today ... I asked if she 
(presume it's a she) knows that not the complete HMAC file is used
12:04 < dazo> (well, I got the mail 3AM my time)
12:05 <@mattock> ok, so things are under control then :)
12:06  * dazo suggests, if possible, that someone with knowledge either gives 
me needed info or takes direct contact with her
12:06 <@mattock> who has enough knowledge to troubleshoot this?
12:07 < jamesyonan> what exactly is she claiming?  That OpenVPN is computing 
the HMAC incorrectly?
12:07 <@mattock> james: I assume that's what she means
12:08 < dazo> I understood it a bit different ... that the calculations she 
does, do not give the expected results .... since OpenVPN do work here, at 
least, I'm using --tls-auth on 3 different setups myself ....
12:09 < dazo> that's why I'm wondering if she is using the complete contents of 
the tls-auth file .... or just the needed fragments of it
12:11  * dazo sent a reference to the official ovpn faq, about why the static 
key still works even if just a few bytes are changed
12:11 <@mattock> perhaps we should just wait and see what she says
12:11 < dazo> yeah, the information we have is a bit vague, tbh
12:11 <@mattock> her mail is a bit hard to understand, so I think 
clarifications are needed
12:12 <@mattock> perhaps we should move on to the ACK/NACK issues
12:12 < dazo> I'll keep the list updated when I get more info
12:12 < dazo> yes please :)
12:12 < jamesyonan> We are just calling the standard HMAC routines in OpenSSL. 
12:13 < dazo> I expected that (I've not looked at the code) ... that's why I 
have the feeling that it is related to using a wrong HMAC key
12:13 < jamesyonan> What she should do is look at the 'work' buffer in 
openvpn_encrypt, just prior to the HMAC calculation, and confirm that it 
matches her interpretation of the OpenVPN security model
12:13 <@mattock> dazo: that was my initial thought also, given keys are 
involved in the hash
12:14 < dazo> jamesyonan:  that's a good pointer!  I'll provide that info!
12:14 <@mattock> ok, on to next issue: [PATCH] On TARGET_LINUX define 
_GNU_SOURCE if not defined ("Gentoo patch")
12:15 <@mattock> ACK or NACK?
12:15 < dazo> that one threw off quite a generic discussion about autotools in 
general
12:15 <@mattock> dazo: I think we should discuss the autotools issue also, but 
keep it shorter than the email thread :)
12:16 < dazo> jamesyonan:  one question ... Alon says (and I can confirm) that 
you don't need to care about autotools versions in the tarballs when you use 
'make dist'
12:16 < jamesyonan> is there a reason why this issue is not properly addressed 
by AC_GNU_SOURCE?
12:16 < dazo> is there a reason we need to support bootstrapping the source 
code on older autotools versions?
12:16 -!- d12fk [~quassel@88.130.204.210] has joined ##openvpn-discussion
12:17 < dazo> jamesyonan:  I honestly don't know why AC_GNU_SOURCE is not 
enough ... my autotools-foo is not high enough yet
12:17 < d12fk> re
12:17 < jamesyonan> dazo: but often OpenVPN is build from subversion directly, 
not from the tarball
12:18 < dazo> jamesyonan:  also on such old platforms as RHEL4.6?
12:19 < jamesyonan> I suppose I would ACK then -- it seems trivial enough.  
Presumably it's been build-tested on a few distros?
12:20 <@mattock> perhaps the autotools issue would fit into our neat "Feature 
deprecation process"...
12:20 < dazo> I've tested it on RHEL4.6 and Fedora 12, so they are "related" 
.... so I've not done much testing on other ones ... but that's going to be 
tested elsewhere with the testing tree 
12:20 < dazo> mattock:  I'm not too sure about that .... as this is not a code 
related thing ... it's a build related thing ....
12:21 <@mattock> but for users it's a feature (=to be able to build with older 
autotools), right? 
12:21 < dazo> I can stretch myself to a build-feature ... it's definitely not 
an openvpn feature
12:22 <@mattock> true
12:22 < jamesyonan> currently, we only put source files in the svn, not 
machine-generated files
12:22 <@mattock> so first we'd ask people if they build OpenVPN from SVN/Git on 
Redhat 4.6 or similar
12:23 < dazo> jamesyonan:  and that's the right way to do it, IMHO
12:23 < jamesyonan> so with this approach, the configure.ac needs to be 
compatible with old autotools versions
12:24 < dazo> jamesyonan:  oki ... I'll accept this now ... we can have a more 
careful discussion about this topic at a later point
12:24 < d12fk> but wouldn't have ppl who build it on such old RHEL system also 
have a more recent Unix somewhere, where they could make a dist tarball?
12:24 <@mattock> d12fk: good point
12:24 <@mattock> btw. what problems does the support for old autotools cause?
12:24 <@mattock> meaning: why are we having this discussion ;)
12:25 < d12fk> old autotoola are buggy, and some nice features are missing
12:25 < dazo> +1
12:26 < dazo> and as Peter Stuge said in the mail thread .... newer versions 
might even give better tarballs for older distroes, just because of less bugs
12:26 <@mattock> I suggest we ask people in -users and -devel if they indeed 
build OpenVPN SVN/Git versions with Redhat 4.6 or older
12:27 <@mattock> then see what happens
12:27 < dazo> IMO, I don't see the need for supporting anything else than the 
latest autotools after the discussion with Alon ... older systems can be 
compiled, even with autotools not installed ... as long as make dist has been 
run
12:27 < dazo> mattock:  lets do that
12:27 < jamesyonan> I regularly build on RHEL 4 (4.6) just to test that changes 
do not break anything on early Linux versions
12:28 < jamesyonan> what are some of the "nice features" we would get by 
requiring autotools latest version?
12:28 <@mattock> jamesyonan: but that's not mandatory, right? You could create 
a Redhat 4.6 compatible tarball on another machine with latest autotools 
installed.
12:28 < d12fk> i honestly doubt that many users build from svn directly, unless 
they are developers themself
12:30 < dazo> jamesyonan:  I'm not necessarily concerned about features right 
now, but there are bug fixes which might complicate things .... but have a 
colleague who is a autotools expert, I'll drop him an e-mail and ask
12:30 <@mattock> d12fk: I think so too, but I'll send a few mails tomorrow to 
get a better picture
12:30 <@mattock> dazo: good idea
12:30 < jamesyonan> so if we decide to require latest autotools version, does 
that mean we don't need this patch?
12:31 < dazo> it could actually mean that, to some extent yes
12:31 <@mattock> dazo: so is it a NACK until the autotools issue is settled?
12:31 < dazo> mattock:  agreed!
12:32 <@mattock> ok, I'll send mails to -users and -devel tomorrow, explaining 
what we'd like to do
12:32 <@mattock> in the true FRP style ;)
12:32 < jamesyonan> But if Gentoo is using it, then presumably their build 
system isn't capable of building the ./configure script on a recent autoconf 
version for older distros?
12:32 < dazo> perfect!
12:33 <@mattock> good point, james
12:33 < dazo> it could be something like that ... I have not gotten into 
details ... as this patch was added early in the 2.1_rc cycles
12:33 < dazo> The ./configure script do not depend on autotools at all
12:34 < dazo> it is only needed in the moment the generated scripts notices the 
autotools source files have changed
12:34 < jamesyonan> so perhaps the existence of this patch means that people 
(i.e. Gentoo team) still need to build from svn with older autotools?
12:35 <@mattock> jamesyonan: you mean that with newer autotools build fails?
12:35 < jamesyonan> dazo: I don't understand... autotools generates ./configure 
12:36 < dazo> yes ... and that happens on the host you run autoreconf
12:37 < dazo> then you do 'make dist'  which creates a tarball, including all 
generated scripts .... like ./configure .... that tarball can be extracted on a 
box without any autotools at all, and it will work
12:37 < jamesyonan> dazo: no I'm saying that we should inquire a bit deeper 
before we assume that people don't need to be able to build from svn source on 
old platforms without duct-tape solutions such as regenerating ./configure on a 
newer distro
12:38 <@mattock> let's ask people what they think and go from there
12:38 < jamesyonan> dazo: but I'm talking about the svn co      autoreconf -i -v
12:38 < jamesyonan>     ./configure
12:38 < jamesyonan>     make dist
12:38 < jamesyonan> method
12:39 < jamesyonan> i.e. not building tarball as intermediate step
12:39 < dazo> jamesyonan: agreed!  Just a question, when you prepare the 
tarball for release/distribution .... I presume you use 'make dist' or 'make 
distcheck', right?
12:39 < jamesyonan> yes, sure
12:40 < jamesyonan> but automated build systems often want to build directly 
from svn
12:41 <@mattock> I'll ask what our users think about this
12:41 < jamesyonan> why don't we accept the patch for now, but float the idea 
of restricting to latest autoconf version, and see how it flies. 
12:41 < dazo> what I believe can be a cause of this needed patch in Gentoo, 
which is why I haven't seen it on my platforms (as I build from the git and svn 
tree) ... is that the distributed tarball then do have a bug (due to the older 
version) ... which do not make the right usage of AC_GNU_SOURCE .... which 
means, they added a patch to socket.c to get it compiled properly
12:42 <@mattock> jamesyonan: agreed
12:43 <@mattock> ACK the patch + discuss the autotools issue with our users? 
agreed? 
12:43 < jamesyonan> ACK
12:43 < dazo> ACK
12:44 <@mattock> ok, on to the next issue
12:44 <@mattock> this should be simpler :)
12:44 <@mattock> [PATCH] The man page needs dash escaping in UTF-8 environments
12:45 < dazo> to summarize it .... in openvpn.8, all -- is changed to \-\- ... 
for proper UTF-8 escaping .... but, I'm not sure how this influences non-utf8 
environments
12:45 <@mattock> I assume the Debian fix has not caused any problems with 
non-UTF8 encodings
12:46 < jamesyonan> this is probably necessary, but it would be nice if we 
could re-source the man page source as a more human-readable document
12:46 < jamesyonan> are there automated tools that could convert the existing 
source to something like docbook?
12:46 < dazo> mattock:  that's often default distro settings .... if Debian 
switched to utf-8 and introduced this one ... they might not have ran this on 
non-utf8 in Debian after that switch at all
12:47 <@mattock> dazo: I'll check what happens on my Debian box
12:47 < dazo> jamesyonan:  I don't know ... but I know it is the other way 
around
12:47 <@mattock> perhaps you could discuss the next issue while I test this?
12:48 < cron2> re
12:48 < dazo> jamesyonan:  I presume this will be a one-time-job ... I'd 
presume copy-paste from xman or something like that is just as quick and 
efficient
12:48 < cron2> evening planning changed, I'm here after all :)
12:48 < dazo> \o/
12:48 < dazo> NON_CBC_CIPHER bug / [PATCH] Don't ASSERT() on stream cipher
12:49 <@mattock> hi cron2!
12:49 < dazo> http://thread.gmane.org/gmane.network.openvpn.devel/3286
12:49 < vpnHelper> Title: Gmane Loom (at thread.gmane.org)
12:49 < dazo> (next topic)
12:49 < cron2> hi mattock, dazo, james, d12fk
12:50 < jamesyonan> So basically the assertion is bypassed when mode != 
EVP_CIPH_CBC_MODE
12:50 < dazo> yeah 
12:51 < jamesyonan> wouldn't it make more sense to modify the assertion so it 
makes sense for all modes?
12:51 < dazo> my concern is that this is hitting more than just stream ciphers 
.... so that !=  EVP_CIPH_CBC_MODE  is not the right solution
12:52 <@mattock> regarding the man-page UTF8 fix
12:52 < dazo> "And we found the bug:
12:52 < dazo> function EVP_CipherFinal() returns 0, when cipher has
12:52 < dazo> block_size == 1(stream cipher). So hear is the patch to
12:52 < dazo> fix the bug.
12:52 < dazo> "
12:52 <@mattock> seems to work on both fi_FI.UTF8 and C locales
12:52 < dazo> jamesyonan:  ^^
12:52 <@mattock> searching with less as the pages, e.g.
12:52 <@mattock> /--dev-type
12:52 < jamesyonan> Agreed.  The proper fix should be to assert the correct 
outlen value for any cipher mode.
12:53 <@mattock> finds everything correctly regardless of the locale
12:53 <@mattock> using Debian testing, ~2 weeks old
12:53 < jamesyonan> mattock:  did you test on old linux versions?
12:54 < dazo> jamesyonan:  I don't follow you now .... the original version 
does assert() check on all cipher modes, which hurts stream cipher .... the 
patch does only assert() check when mode == EVP_CIPH_CBC_MODE
12:54 <@mattock> jamesyonan: nope, Ubuntu 9.10 is the oldest I got
12:55 < dazo> mattock:  jamesyonan: RHEL4.6 is UTF-8 by default
12:55 < jamesyonan> dazo: the point of the assert is to verify that 
EVP_CipherFinal returns an outlen that makes sense to us
12:56 <@mattock> man page seems to work on Ubuntu 9.10 with both UTF8 and C 
locales
12:56 <@mattock> I can't do more testing than that
12:56 < jamesyonan> we want to establish that outlen makes sense regardless of 
whether EVP_CIPH_CBC_MODE is being used or not
12:57 < dazo> yes ... and then we're back at the starting point, without this 
patch, aren't we?
12:57 < dazo> -   ASSERT (outlen == iv_size);
12:57 < dazo> +   if (mode == EVP_CIPH_CBC_MODE)
12:57 < dazo> +            ASSERT (outlen == iv_size);
12:57 < dazo> (the patch itself)
12:58 < dazo> outlen != iv_size when a stream cipher is used, that's the core 
issue .... so, then this assertion needs to be modified then, and not only do 
this check when mode == EVP_CIPH_CBC_MODE
13:00 < jamesyonan> what is outlen when a stream cipher is used?
13:01 < dazo> "function EVP_CipherFinal() returns 0, when cipher has block_size 
== 1(stream cipher)."
13:01 < dazo> that's what the commit log says
13:01 < dazo> so I understand that as outlen is set to 0, in this case
13:01 <@mattock> Debian Lenny (stable) man pages seem to work with UTF8 and C, 
too
13:02 < jamesyonan> well then we should ASSERT(outlen==0) in this case
13:03 < jamesyonan> mattock: can someone test that the man page changes doesn't 
break early linux versions
13:03 < dazo> jamesyonan:  yeah, I can agree to that one .... which ciphers are 
stream modes then?
13:04 < jamesyonan> maybe there is an OpenSSL flag that indicates that?
13:04 <@mattock> jamesyonan: I'll send mail to the mailinglists and ask
13:05 <@mattock> [TESTING NEEDED]
13:05 <@mattock> that way we've at least done our best to avoid any problems 
with old distros
13:06  * dazo need to dig deep into OpenSSL then to figure out that then
13:06 < dazo> jamesyonan:  I'll suggest we NACK this patch, and we'll get 
either the patch submitter to look at it, or I'll put it into a TODO list
13:07 <@mattock> dazo: preferably let the submitter handle it
13:07 <@mattock> if he's available
13:07 < jamesyonan> +1
13:07 <@mattock> I would not like dazo's TODO-list to grow too long
13:07 < dazo> agreed, but it was submitted in 2006 .... so he might just ignore 
us now
13:07 <@mattock> dazo: perhaps it's worth the try anyways
13:08 < dazo> mattock:  I was thinking about a public TODO list, where people 
could take tasks ;-)
13:08 <@mattock> good idea, actually
13:08  * dazo got a way too long personal TODO list already :)
13:08 <@mattock> I think people often have difficulty knowing _how_ to help, 
even if they're willing
13:08 < dazo> yup!
13:08 <@mattock> what do you think about sending TESTING requests directly to 
-users ml?
13:09 < dazo> +1
13:09 <@mattock> or rather, both mailinglists
13:09 <@mattock> to reach widest possible audience
13:09 < jamesyonan> OpenSSL defines EVP_CIPH_STREAM_CIPHER
13:09 <@mattock> I don't think a couple of mails a week hurt anyone
13:10 -!- rob0 [~r...@tuxaloosa.org] has joined ##openvpn-discussion
13:10 < jamesyonan> this can be used to determine if a stream cipher is being 
used
13:10 < rob0> oh I'm late :)
13:10 <@mattock> rob0: welcome!
13:10 < dazo> jamesyonan:  good one! I'll write it down .... and I'll respond 
with this info to the sf.net tracker 
13:10 < cron2> reb0: 70 minutes :-) - but welcome anyway!
13:11 < rob0> :)
13:11 < rob0> (I thought it was 1900)
13:11 <@mattock> dazo: so the cipher issue is settled (for now)?
13:11 < cron2> rob0: in MET, it is :)
13:11 < jamesyonan> In general, I think it's a good idea to support non-CBC 
cipher modes
13:11 < dazo> mattock:  yup!
13:12 <@mattock> ok, a brief summary at this point...
13:12 < cron2> rob0: we moved the meeting to "one hour earlier" two weeks ago, 
to better accomodate dazo's schedule
13:12 <@mattock> ACK the Gentoo patch, ask for old autotools support in ml 
13:12 <@mattock> the man page UTF8 patch: ask users to test on older distros 
(pre-Debian Lenny)
13:13 <@mattock> cipher bug is handled by dazo
13:13 <@mattock> should we try to cover a couple more?
13:14 <@mattock> oh, and the HMAC issue is waiting for more info from Jessica
13:14 <@mattock> what about this: "An update on the --passtos for tagged 
ethernet frames"
13:14 < dazo> mattock:  I'd like to hand-over the next phases of the --passtos 
patch ... I got in contact with the patch developer ... and I have a "test 
script" ... how to test docs .... 
13:14 < dazo> somebody up to follow up that one further?
13:15 < dazo> (the patch submitter is using the patch in a bigger environment 
with some 100 clients, if I understood it correctly)
13:16 <@mattock> dazo: what should be done next?
13:16 < dazo> mattock:  Development TODO list - 
http://www.secure-computing.net/wiki/index.php/OpenVPN/Development-TODO
13:16 < vpnHelper> Title: OpenVPN/Development-TODO - Secure Computing Wiki (at 
www.secure-computing.net)
13:16 <@mattock> I mean with --passtos patch :)
13:16 < dazo> mattock:  somebody should test out the test documentation I got 
... put it on a wiki ... and ask for testers
13:17 <@mattock> where's the test documentation? could I do the job (=does it 
require programming in C :)
13:17 < dazo> the --passtos patch are in the git tree ... but not merged into 
allmerged yet ... we wanted some separated testing on it first, to see/check 
that it works and doesn't break anything for people not using tagged ethernet 
frames and/or --passtos
13:18 <@mattock> ok, I can organize the testing
13:18 < dazo> mattock:  I'll mail it to you .... no C programming ... it looks 
pretty easy, with example config files, tcpdump examples etc etc
13:18 <@mattock> dazo: ok
13:18 <@mattock> I'll do the documentation and send testing requests to ml's
13:19  * dazo mails testing docs to mattock 
13:19 <@mattock> we'd have this last one (before SF.net tracker stuff): 
Supporting "route-gateway dhcp" on non-Windows
13:19 <@mattock> rob0: the topics are here: 
http://www.secure-computing.net/wiki/index.php/OpenVPN/IRC_meetings/Topics-2010-03-11
13:19 < vpnHelper> Title: OpenVPN/IRC meetings/Topics-2010-03-11 - Secure 
Computing Wiki (at www.secure-computing.net)
13:20 < dazo> here jamesyonan must have been flooded by mails :)
13:20 < d12fk> i have no real opinion, but the strong feeling that this should 
be "fixed" by the distributions or it might break more than it fixes
13:21 <@mattock> d12fk: I tend to agree
13:21 <@mattock> implementing a DHCP client in OpenVPN would cause problems if 
other DHCP clients are running (which is often the case)
13:22 < dazo> I tend to agree as well .... except ... I worry it will be a 
maintenance hell for OpenVPN to have a flexible enough solution to make this 
work with all kind of different solutions each distribution uses
13:22 <@mattock> I don't think anybody in the ml had a really good, generic 
solution to this problem
13:22 < cron2> mattock: on the ML, there are people that know how to do 
cross-platform portability, and people that know their own teeny little 
operating island...
13:22 < dazo> that's the thing ... we don't want to introduce a DHCP client for 
all interfaces .... just for the TAP device being created for openvpn
13:22 < cron2> and the teeny little island people all assume that the teeny 
little island way of doing things is "so easy that everbody must see this"
13:23 < rob0> Is this "route-gateway dhcp" thing only for tap, or also for tun?
13:23 < cron2> dazo: not just "distributions".  "Operating systems" as well 
(*BSD, MacOS, Solaris)
13:23 <@mattock> and "other" operating system distributions (DragonflyBSD, 
PC-BSD or whatever) 
13:24 <@mattock> tons and tons of different DHCP approaches
13:24 < dazo> when OpenVPN acts as a DHCP client .... it will not care about 
other devices on the box ... that way, it will be rather restricted
13:24 < dazo> but, the disadvantage .... what to do with /etc/resolv.conf 
updates?
13:24 < rob0> IIUC in Slackware Linux, the trigger for the rc.inet1 script 
(which configures interfaces) is sent by udevd.
13:25 < dazo> Many distributions (Fedora, RHEL, Novell SuSE, openSuSE, Ubuntu) 
uses NetworkManager
13:25 < jamesyonan> What if we implement an internal DHCP client within 
OpenVPN, but have it only activate on platforms known to not implement 
automatic binding between the TAP interface and a DHCP client
13:25 < rob0> Also, some folks might be running dnsmasq or similar, and not 
want any changes to resolv.conf ...
13:25 < dazo> jamesyonan: I believe that's basically the vast majority of *nix 
....
13:25 <@mattock> is there any real disadvantage for letting OS/distribution 
guys handle the integration? After all, they all know their own environment so 
integration should not be a big chore. Compared to what we might encounter
13:26 < jamesyonan> The internal DHCP client would translate attributes 
received from the DHCP server into route, ifconfig, and dhcp-option
13:26 <@mattock> rob0: for example me
13:26 < dazo> mattock:  then I would suggest them to use --up script hook .... 
and OpenVPN don't need to be used
13:26 < dazo> s/used/changed/
13:26 < cron2> mattock: how will you get those OS/distribution guys todo that?
13:27 < jamesyonan> then the dhcp-options would follow the normal "foreign 
option" pathway within OpenVPN that is already defined for Mac OS X and other 
non-Windows OSes
13:27 < rob0> Maybe the documentation could provide a few distro-specific up 
scripts, and that's as good as it can be.
13:27 <@mattock> cron2: I guess we should just make it as easy for them as 
possible (document, provide examples etc)
13:27 <@mattock> as rob0 suggested
13:28 <@mattock> provided that the distro guys _would_ indeed do the 
integration with external DHCP clients - what benefits would an internal 
OpenVPN DHCP client provide
13:28 < rob0> I could do one for Slackware, but it might take a week or more to 
get a round tuit.
13:28 <@mattock> compared to that
13:29 < dazo> then somebody needs to maintain those scripts .... what to do 
when it breaks, the maintainer don't respond and nobody else comes up with a 
fix ?  we stop supporting it?
13:29 < rob0> yeah, that's about it, unfortunately
13:30 <@mattock> so no good solutions, eh :|
13:30 < cron2> mattock: adapting to ever-changing distributions and operating 
systems will always fall back to the package maintainer
13:30 < jamesyonan> dazo: are you familiar with the "foreign-option pathway" 
for etc/resolv.conf updates?  Tunnelblick uses it when dhcp-option directives 
are pushed 
13:30 < dazo> jamesyonan:  I have not looked at that one, tbh 
13:31 < dazo> I believe that's similar to what Debian might use, on second 
thought
13:31 <@mattock> cron2: so you think we should let them handle this issue?
13:31  * dazo looks up a long
13:31 < dazo> *link
13:31 < cron2> jamesyonan: where is that documented?  It's not in the openvpn.8 
man page
13:31 < cron2> mattock: no, I find adaption to "the linux fancy of the week" 
too painful
13:33 < cron2> mattock: well.  What I wanted to say is: if we leave that to the 
distro and OS maintainers, some of them will do a good job, and others won't do 
anything.  So you have a long list of "this feature works on OS X, Y and Z, but 
not A and B".
13:33 < dazo> 
http://www.phocean.net/2006/12/07/openvpn-and-dns-on-a-linux-client.html ... 
the last script on the page
13:33 < vpnHelper> Title: Phocean.net » OpenVPN and DNS on a linux client 
(at www.phocean.net)
13:33 < cron2> Eventually, Z will change their setup to use DHCP client V 
instead of W, and the scripts will break.  Then who will adapt?
13:33 <@mattock> cron2: agreed, it's going to be painful... but if the distro's 
DHCP clients (e.g. NetworkManager, dhclient) autodetect the OpenVPN network 
adapter they might break things for the built-in OpenVPN DHCP client anyways
13:34 <@mattock> that's the impression I got from the ml discussions
13:35 < jamesyonan> cron2: foreign-option is briefly described in the man page
13:35 < jamesyonan> at the end of dhcp-option section
13:35 < cron2> mattock: if the distro's DHCP client starts messing with 
OpenVPN's interfaces, things will break in really exciting ways
13:35 < dazo> exactly .... and all this, is why I think it is a better solution 
in the end to have a simple DHCP client inside OpenVPN which only cares about 
the TAP device it has configured .... and with the upside, support for TUN 
devices might be closer as well - if the server side can act as a DHCP relay
13:36 < cron2> jamesyonan: it's spelled foreign_option here, so my search 
didn't find it.  Got it now, thanks.
13:36 < dazo> cron2:  that's a good point
13:36 < cron2> mattock: even if you have statically configured tun/tap devices 
within OpenVPN - and then the distro goes ahead and removes that and does DHCP. 
 Or whatever it feels like doing.
13:37 <@mattock> so a built-in DHCP client is the least bad solution?
13:37 < rob0> Could we be headed toward a split of openvpnd and openvpnc 
server/client?
13:38 < dazo> mattock:  in my opinion, yes
13:39 <@mattock> and it's worth the trouble I assume?
13:39 < jamesyonan> I'm not sure that splitting makes sense because there is so 
much shared code.  Of course if you just want a client or server-only build, 
you can use build options for that.
13:39 < dazo> mattock:  if we do that, we can at least document that no DHCP 
clients should be run on the TAP device when the internal DHCP client is 
enabled ... that way, people who try  that will fail - and it's not our fault
13:40 <@mattock> dazo: sounds like a good approach
13:40 <@mattock> so what to do about this then? what concrete steps to take?
13:41 < dazo> I believe jamesyonan asked the question on the ML to get some 
feedback ... and we've summarised it here now ... so, I'd probably hand it back 
to jamesyonan again for the next steps :)
13:41  * cron2 agrees
13:42 <@mattock> yeah, I was wondering where this issue originated from :)
13:42 < dazo> jamesyonan was did a brave move .... and probably got a full 
inbox as a result :)
13:42 < jamesyonan> I think this is an important feature, because it really 
allows for zero-configuration TAP-based VPNs
13:43 <@mattock> only ~35 mails
13:43 < dazo> agreed!  And it has been missed!
13:43 <@mattock> who shall get to work?
13:43 <@mattock> :)
13:43 <@mattock> dazo: you're excluded, you have too much work as it is :)
13:43 < dazo> lol
13:44 < dazo> \o/
13:44  * dazo is happy!
13:44 < jamesyonan> well I think the ML discussion was a good exercise because 
it shows that leveraging on the distro DHCP client is not a panacea.
13:45 <@mattock> yeah, it was a really good discussion
13:46 <@mattock> if we don't do anything concrete right now, I suggest I'll 
write a short summary of the ml discussions and this discussion... so that when 
somebody starts working on this he knows what is the best approach
13:46 < dazo> jamesyonan:  and you feel you now know enough to know which 
approach you will go for?
13:47 < jamesyonan> yeah, I'm definitely leaning towards the internal DHCP 
client approach
13:47 <@mattock> jamesyonan: is this something you're going to be implementing 
yourself?
13:47 < jamesyonan> it's definitely something I'm considering
13:48  * dazo would suggest putting all such tasks which has not been started 
to the Developer-TODO page ... if somebody wants a challenge, that's where to 
look
13:48 <@mattock> ok, I'll refrain myself from writing a lengthy summary of the 
findings, then
13:48 <@mattock> dazo: agreed - I can write a _short_ summary there :)
13:49 < dazo> mattock:  yeah ... just describe the feature we want .... then 
refer to discussions on ML and in this irc log ....
13:49 <@mattock> will do
13:49 <@mattock> I think we should leave SF.net patch tracker issues aside 
(again)
13:49 < dazo> mattock:  I'll also suggest the ML discussions to be linked 
against gmane.org ... it's way more organised and easier to read, IMHO
13:50 <@mattock> ok, I'll do that
13:50 <@mattock> it's a cleaner and faster interface
13:50 < dazo> mattock:  yeah .... I'm waiting for the community server ... with 
Trac ;-)
13:50 < dazo> (for TODO/Roadmap features)
13:50 <@mattock> me too :)
13:51 < dazo> I think that concludes today, or?
13:51 <@mattock> it should be up _really_ soon (when my Apache2 private key 
arrives)
13:51 <@mattock> dazo: agreed
13:52 < dazo> Thanks a lot, guys, for a great meeting again!
13:52 <@mattock> I'll summarize this meeting tomorrow, as usual
13:52 < d12fk> see you next week then
13:52 <@mattock> with links to gmane
13:52 <@mattock> see you all later!
13:52 < dazo> c'ya!
13:52 < jamesyonan> bye!
13:52 < cron2> good night :) and bye
13:52 < d12fk> take care

Reply via email to