Hi,

Here's the summary of the previous community meeting.

---

COMMUNITY MEETING

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

Planned meeting topics for this meeting were on this page:

<https://community.openvpn.net/openvpn/wiki/Topics-2010-05-27>

Next meeting next week, same place, same time. Your local meeting time
is easy to check from services such as

<http://www.timeanddate.com/worldclock>

or with

$ date -u


SUMMARY

Discussed the final missing piece of our development process puzzle: how
to get code from "testing" into an official release. Agreed on the
following process:

1) Features to include will be selected from the "testing" tree
2) Features will be stabilized until they don't change much
3) A staging "stable candidate" branch will be created
4) Beta/rc releases will be published based on this staging branch (to
get people to _really_ test the code)
5) Bugs in the staging branch and beta/rc releases based on it will be
fixed as they are found
6) Once staging branch is deemed stable enough, an official release will
be made

The staging branch will be kept in James' SVN repository.

--

Discussed testing in some detail. Agreed that both manual (human) and
automated testing are important. There are plans for doing both. Samuli
will start building a build + release + publish server a.s.a.p. to
distribute "testing" snapshot packages. These snapshot packages will be
linked to from openvpn.net.

--

Discussed an existing project, Magic Tunnel Daemon (mtund), which we
could perhaps use as part of OpenVPN 3.0 core:

<http://wiki.freebsd.org/mtund>

---

Discussed the bridge section in the FAQ:

<http://openvpn.net/index.php/open-source/faq.html#bridge1>

Krzee suggested adding something like this: "Another bridge disadvantage
is that layer2 is insecure by design. Opening your layer2 exposes you to
arp poisoning and the like."

Agreed that pointing this out in the FAQ is a good idea, as this is not
widely understood (e.g. in OpenVPN IRC channel).

--

Discussed the bridge-start and bridge-stop scripts found from
sample-scripts directory (and openvpn.net):

<http://openvpn.net/index.php/open-source/documentation/miscellaneous/76-ethernet-bridging.html#linuxscript>

Agreed that the scripts are broken. Also agreed that making "universal"
scripts that just work on any/most OS'es is very difficult. Agreed that
the scripts should be intentionally disabled by default as well be more
heavily commented so that nobody uses them accidentally without
understanding bridging basics. Waldner volunteered to make these fixes
and send them for review.

---

Full chatlog as an attachment

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

irc freenode net: mattock

(21:14:33) mattock: hi james!
(21:14:37) jamesyonan: hi guys
(21:14:41) CareBear\: hi James
(21:14:46) krzee: hey james
(21:14:48) dazo: hi!
(21:14:50) waldner: hi
(21:14:51) krzee: brb
(21:14:54) krzee ha abbandonato il canale (quit: Quit: Leaving).
(21:15:31) mattock: topics for today are here: 
https://community.openvpn.net/openvpn/wiki/Topics-2010-05-27
(21:15:36) vpnHelper: Title: Topics-2010-05-27 – OpenVPN (at 
community.openvpn.net)
(21:15:52) mattock: we have big one today, as you can see
(21:16:37) mattock: which is... how do we get code from "testing" to release 
(possible via James' stable tree)
(21:16:38) mattock: ?
(21:17:30) mattock: james: any thoughts on this issue?
(21:18:37) cron2: mattock: the most important one, yes :-)
(21:19:25) mattock: so basically we have a "hole" in our development process... 
no path leads from testing to release yet
(21:19:34) mattock: at least no documented path
(21:20:09) cron2: exactly, and this needs to be defined - otherwise the 
"community tree" and the "openvpn tech tree" are in danger of really moving 
further and further apart
(21:20:16) cron2: worst case, leading to a split
(21:20:26) jamesyonan: I'm completely swamped for at least the next month or 
two -- we need to develop a process for merging that takes a minimum amount of 
my time
(21:20:42) dazo: From my point of view ... we have a couple of possibilities 
... I do understand that testing the openvpn-testing code is important, but I'm 
seeing it from the perspective of that being fine (testing is good for a stable 
tree)
(21:21:36) dazo: one approach is that jamesyonan indicates to me which features 
/ branches he is interested in ... I can produce a set of patches for him which 
he can apply to the SVN tree .... 
(21:22:21) dazo: another approach is that James clones the git tree, and uses 
git to push the branches he is interested in into the SVN  tree via git-svn ... 
then he can do svn merging how he likes it
(21:22:23) cron2: that would certainly save lots of time
(21:22:31) cron2: (the former)
(21:22:32) jamesyonan: that could certainly work
(21:23:14) dazo: the disadvantage of the first one ... I'm afraid the 
openvpn-testing tree needs to be re-generated, as I'm not sure how well git 
will detect duplicate patches this way
(21:23:50) dazo: the latter one, this one will make it easier to track things 
for me with git-svn afterwards
(21:23:57) cron2: ack
(21:24:44) dazo: actually, there is a third option ... and that is that I get 
write access to the svn tree ... and I could push the branches James wants there
(21:25:09) dazo: (but that requires some config/admin changes at openvpn)
(21:25:41) cron2: this might work in the long run, bugt I have the feeling that 
James will want to review all this "community" stuff closely beforehand
(21:25:55) dazo: cron2:  agreed
(21:26:13) dazo: and I didn't mean merge into BETA21 branch ... I meant push to 
a separate SVN branch 
(21:26:17) mattock: also, I think we should discuss what to include in the next 
2.x release together
(21:26:56) mattock: no matter what technique we use
(21:27:27) dazo: mattock:  yeah, that's appropriate ... but I'd say that's 
secondary to figure out how we get the stuff into James' tree
(21:27:39) mattock: dazo: true
(21:27:49) cron2: and on a tangent, how many releases do we want (-> how big 
the changes)
(21:28:32) krzee [~k@unaffiliated/krzee] è entrato nel canale.
(21:28:32) mattock: cron2: I think we should try to make relatively frequent 
releases with small amount of new functionality
(21:29:37) dazo: I'd say we could have one which would contain stuff from 
bugfix2.1, feat_misc and feat_eurephia .... another one which would be 
feat_ipv6_payload and feat_ipv6_transport 
(21:29:41) cron2: we have a few quite big patches in there...  vlan, v6 
payload, v6 transport
(21:29:49) mattock: I think most people won't touch "testing" versions or 
SVN/Git code anyways
(21:30:51) dazo: feat_vlan is not completely accepted into allmerged yet .... 
missing better review and testing + it depends on feat_passtos which has not 
been merged nor tested (and the developer seems to have disappeared from the 
radar)
(21:32:40) cron2: well, and I'm afraid neither feat_ipv6_* has seen *review*... 
- testing, yes, but no code review...
(21:32:54) mattock: so which approach should we take... number one: "another 
approach is that James clones the git tree, and uses git to push the branches 
he is interested in into the SVN  tree via git-svn ... then he can do svn 
merging how he likes it"
(21:33:05) mattock: sorry, number two
(21:33:40) dazo: cron2:  but I'm comfortable with the ipv6 stuff ...basically 
because you are available and active in the community 
(21:34:36) cron2: :)
(21:34:56) cron2: it has seen quite some testing, yes
(21:34:57) jamesyonan: I dazo's idea about creating a tree on svn.openvpn.net 
that would be used as a staging branch for changes that should go into stable.
(21:36:18) mattock: jamesyonan: so would the staging branch be relatively 
stable, receiving only bug fixes?
(21:36:36) CareBear\: dazo : feat_vlan looks very good, I looked at it as 
carefully as I could (I'm Peter Stuge) but I do not really know anything about 
OpenVPN internals so I did not know what sensitive points to look particularly 
closely at
(21:37:20) mattock: ...and all work before creating a staging branch to SVN 
would be done in "testing" tree?  
(21:37:27) mattock: or did I misunderstand something?
(21:38:12) dazo: CareBear\:  that's sounds good!   I remember you did some 
review as well, but didn't get it as a clear ACK for merge :) ... cron2 would 
you have a chance to look at the patches as well?
(21:38:35) dazo: mattock:  I would probably prepare a git branch which I would 
push over to the SVN branch
(21:38:50) dazo: mattock:  and then James would merge them together
(21:39:03) mape2k ha abbandonato il canale (quit: Ping timeout: 276 seconds).
(21:39:07) jamesyonan: yes, I think the staging branch would only contain stuff 
where there's general agreement that it should be merged with stable
(21:39:19) dazo: mattock:  the contents of that 'next' branch, would be those 
git branches we agree on in these meetings
(21:39:19) CareBear\: dazo : I didn't want to ack since I didn't know what (if 
anything) was critical
(21:39:35) dazo: CareBear\:  yeah, I understood ... and that's fair enough :)
(21:40:33) mattock: dazo: ok, sounds like a good idea... so the "next" branch 
would be a kind of non-released beta/rc 
(21:40:48) mattock: a constantly evolving beta/rc, to be more exact
(21:41:30) dazo: mattock:  s/"next"/staging/  :)  ... yeah, the staging branch 
would contain what's prepared for James to merge into his release
(21:42:10) mattock: and your "staging/next" git branch already contains James' 
stuff, right?
(21:42:19) mattock: from James' own SVN branch(es)
(21:42:23) cron2: yes
(21:42:39) mattock: great!
(21:42:40) dazo: yes
(21:42:53) dazo: well
(21:43:13) dazo: actually ... the staging branch could contain just the changes 
itself
(21:43:33) dazo: but it would be more challenging with bugfix2.1 and feat_misc 
branches, as they are based differently
(21:44:02) dazo: ie.  not SVN changes from James
(21:44:27) mattock: ok
(21:45:04) dazo: jamesyonan:  it might be an idea for you to test out the 
branch merging in a separate branch - just to see how well the merge goes
(21:45:46) ***dazo suspects some merge conflicts in worst case
(21:47:18) mattock: so this would happen prior to a release... 1) features to 
include would be selected, 2) features would be "stabilized" until they are 
relatively stable (=don't change much), 3) a staging branch would be created, 
4) beta/rc releases would be published based on the staging branch (to get 
people to _really_ test the code), 5) once staging branch is deemed stable 
enough, an official release could be made
(21:47:43) cron2: this sounds good to me
(21:47:48) dazo: +1
(21:47:50) mattock: and of course, bugs would be fixed in the staging branch as 
they're found
(21:47:51) jamesyonan: agreed, we should create and test the result of the 
merge before it becomes the stable branch
(21:49:02) dazo: one detail question then: How do we get my staging branch into 
the SVN staging branch?
(21:50:56) jamesyonan: Isn't there a git -> svn connector?
(21:51:51) mattock: also, does it matter whether the staging branch is in SVN 
or Git repo?
(21:52:03) dazo: jamesyonan:  yes, I can push to SVN branches
(21:52:07) CareBear\: jamesyonan : there is git-svn
(21:52:20) CareBear\: ie. git natively supports interaction with svn repos
(21:52:48) CareBear\: albeit with limited functionality
(21:53:24) CareBear\: (because of differences between git and svn)
(21:54:12) dazo: jamesyonan:  or, of course, you can pull the git tree and push 
to SVN yourself ... if you prefer that instead :)
(21:54:47) ***dazo is open to do what it takes to make this work out
(21:56:17) jamesyonan: The thing that works best for me would be an svn branch 
that essentially represents a "stable candidate", where we can test it and then 
promote it to stable.
(21:56:35) dazo: that works for me
(21:56:58) mattock: jamesyonan: sounds good
(21:57:03) jamesyonan: cool
(21:57:06) cron2: cool :)
(21:57:20) dazo: and we avoid a potential challenging merge in SVN from the 
staging branch to BETA21
(21:58:27) dazo: (basically, because I have merged in everything based on the 
BETA21 already in git)
(21:59:18) mattock: ok, so who handles management of the "stable candidate / 
staging" branch in SVN?
(22:00:01) ***krzee points at david and hides
(22:00:21) ***dazo throws a paper ball after krzee 
(22:00:36) cron2: dazo seems to be the master of version control :-)
(22:00:43) mattock: cron2: +1
(22:01:04) dazo: geeee .... I've must have been a good actor! :-P
(22:01:05) CareBear\: that can be a fair bit of work, unless the source for 
that branch is already kept clean as a matter of cooperation
(22:01:46) dazo: CareBear\:  it would basically be to merge svn-BETA21, and the 
feature branches we want in the next release ... and then push it to SVN
(22:01:55) cron2: well, since dazo only accepts patches that are reviewed and 
follow style, it *is+ fairly clean
(22:02:12) dazo: CareBear\:  that's a rather trivial task for me in git :)
(22:02:33) CareBear\: as long as feature branches apply cleanly
(22:02:41) CareBear\: merge cleanly
(22:02:52) dazo: Be sure! :)
(22:03:04) CareBear\: if I were to add a feature - what would I start with?
(22:03:13) CareBear\: testing branch, or to-become-stable branch?
(22:03:18) CareBear\: all_testing, sorry
(22:03:18) cron2: feat_bugfix
(22:03:22) dazo: CareBear\:  the master branch ideally .... unless it's a 
bugfix, then bugfix2.1
(22:03:53) dazo: actually, you can base it on bugfix2.1 for new features as well
(22:03:59) dazo: cron2 is right
(22:04:07) mattock: dazo: has this been documented somewhere already?
(22:04:41) dazo: mattock:  somehow in the Developers docs ... but I've not 
reviewed it in quite a while, so it might be need that again
(22:04:44) CareBear\: dazo : so when to use all_testing ?
(22:05:19) CareBear\: or is that only for consumption, not for production?
(22:05:21) dazo: CareBear\:  the allmerged branch is all accepted branches, 
which are merged together ... that's the real testing branch where you get all 
the goodies at once
(22:05:22) cron2: if you want to implement something that needs a number of 
feature branches as base...
(22:05:43) CareBear\: dazo : thanks, allmerged, sorry I messed up the name
(22:05:44) dazo: I am the only one who works on allmerged 
(22:05:51) CareBear\: cron2 : yes, that's my point
(22:05:59) mattock: dazo, jamesyonan: can you handle the SVN staging branch 
bureaucracy between yourselves?
(22:06:12) mattock: to get the ball rolling for next 2.x release
(22:06:28) jamesyonan: sure, if dazo's okay with it
(22:06:34) dazo: mattock:  jamesyonan: sure!
(22:06:37) mattock: great!
(22:06:41) krzee: ++
(22:06:45) CareBear\: cron2 : it means that it may take a lot longer to reach 
to-become-stable, but that makes good sense since the deps are required too
(22:07:11) cron2: CareBear: yes
(22:07:41) mattock: if I'm not mistaken, we've reached a consensus on how to 
handle our development process :)
(22:07:46) mattock: the final stages, that is
(22:07:53) dazo: \o/
(22:08:02) krzee: ^5
(22:08:16) CareBear\: mattock : I think it's an important point to document 
where to start contributions. Sure, not so hard to discover, but annoying if 
someone contributes to allmerged instead of feat_bugfix for no reason, thus 
potentially delaying the integration of their work in stable.
(22:08:35) mattock: carebear: agreed
(22:08:49) krzee: yup, thats an important note for developer notes
(22:09:04) cron2: mattock: yes, I'm quite happy :-)
(22:09:22) mattock: do we need to discuss anything else regarding the 
development process?
(22:09:46) cron2: testing?
(22:10:09) krzee: (reading the proposed 3.0 roadmap makes me smile!)
(22:10:12) cron2: "what are our criteria to decide whether it's stable"?
(22:10:25) mattock: cron2: that's important, agreed
(22:10:46) mattock: I think we first and foremost need more people to test 
"testing"
(22:11:13) dazo: or people to write test scripts which we can automate
(22:11:30) dazo: (but that does not exclude "human" testing in addition)
(22:11:31) mattock: dazo: people + automated testing
(22:11:52) ***dazo sensed mattock was about to say that :)
(22:12:14) mattock: dazo: am I so predicatable? ;)
(22:12:31) dazo: ;-)
(22:12:39) mattock: anyways, I think the next step (for me) is to setup a 
server to build + release + publish "testing" automatically
(22:12:54) krzee: i do have something to bring up... i talked to dazo about it 
already... i showed the author of iodine (Yarrick) our beta roadmap for 3.0 and 
he showed me mtund (freebsd code from google summer of code '07) which seems to 
aim for some of what we're thinking, and is BSD licensed
(22:13:00) krzee: we can likely get some code from that
(22:13:12) dazo: indeed!
(22:13:13) mattock: and to link to those "testing" snapshots from openvpn.net
(22:13:17) krzee: http://wiki.freebsd.org/mtund    
http://p4web.freebsd.org/@md=d&cd=//depot/projects/soc2007/mharvan-mtund/mtund.doc/&c=btF@//depot/projects/soc2007/mharvan-mtund/mtund.doc/design.txt
(22:13:18) vpnHelper: Title: mtund - FreeBSD Wiki (at wiki.freebsd.org)
(22:13:32) dazo: jamesyonan:  have a look at those links ... that's interesting 
reading
(22:15:36) mattock: cron2: regarding what's stable... that's a tough one
(22:16:12) mattock: currently we don't know, as the new feature are not being 
used widely or tested by automated tools
(22:16:12) cron2: mattock: oh, that's quite easy "every feature + every 
combination of features does the right thing on every platform" :-) *duck*
(22:16:30) cron2: exactly
(22:16:39) mattock: cron2: "The software shall not contain any bugs"
(22:17:30) mattock: ... snippet from an unknown requirement specification
(22:18:21) mattock: anyways, I think we have solid plans for improving testing 
- and better yet - time to actually do the work
(22:18:53) dazo: How I see it ... as long as we don't have community feedback, 
we do need to have some kind of automated testing which at least can test most 
used configurations for us easily
(22:18:53) jamesyonan: mtund seems interesting -- they seem to be thinking 
along similar lines
(22:19:10) dazo: exactly
(22:19:29) krzee: yup, and bsd license, clean code!
(22:19:59) dazo: I've had a peek at the mtund code ... what I saw, that was a 
slick to read
(22:20:13) krzee: heavily commented from what i saw
(22:21:40) jamesyonan: mtund doesn't seem to care very much about security -- 
it seems more concerned with being able to use many different kinds of 
transport layers
(22:21:59) mattock: dazo: we can get (more) community feedback by making use of 
"testing" easy (snapshot binaries) and giving it visibility (linking from 
openvpn.net downloads)... also, there's little value in "testing" unless people 
use it
(22:22:05) CareBear\: jamesyonan : maybe it's a good point to separate the 
security and the transport?
(22:22:07) mattock: that said, I agree that we need automated testing, too
(22:22:18) krzee: right, its not a replacement for openvpn 3.0, but rather 
something we could possibly take code for
(22:22:24) dazo: yes, that's what I saw as well ... it's lacking authentication 
and encryption ... except for that, it looks pretty much what we need
(22:22:25) mattock: I'd start with automating build & packaging first
(22:22:40) dazo: mattock:  great!
(22:22:46) krzee: and the security is a separate plugin hook in our 3.0 roadmap
(22:22:47) waldner: that could be the transport part of OpenVPN 3.0, and what's 
before it will feed it encrypted data
(22:22:52) CareBear\: oh right - yes it certainly needs the vpn frontend
(22:22:55) CareBear\: waldner ++
(22:22:56) jamesyonan: certainly -- the 3.0 roadmap calls for a plugin 
architecture where plugins could operate at either the security (encapsulation) 
or transport level
(22:23:05) CareBear\: *nod*
(22:23:36) jamesyonan: but mtund doesn't really talk about the crypto being 
part of the plugin architecture
(22:23:54) krzee: i dont believe it does crypto, but that was on the todo list
(22:23:56) mattock: omg, freebsd uses Perforce repositories... that a big minus 
:)
(22:24:09) krzee: "Authentication and encryption would likely not be addressed. 
However, one can always set up IPSec on top of the tun interface."
(22:24:43) krzee: so we cant steal that part... but it looks like they did at 
least SOME of the work for us
(22:25:43) dazo: mtund is far from complete in OpenVPN 3.x point of view ... 
but krzee is probably right, it provides quite some code which we can base 
OpenVPN 3.x upon ... no need to reinvent the wheel again
(22:25:48) mattock: and if the code is clean and well commented, it's a good 
place to start (or at least try to start)
(22:25:58) dazo: that's my thought
(22:26:08) krzee: exactly what i was thinking
(22:26:20) krzee: and the bsd license makes it easy
(22:26:22) waldner: my understanding is that there would be another plugin 
somewhere between the tun interface and the network that would encrypt/decrypt 
the data to/from the transport plugin
(22:26:41) waldner: so the transport plugin wouldn't have to care about 
encryption
(22:26:44) dazo: waldner:  that's correct
(22:26:50) krzee: waldner, yup thats what our roadmap has in mind so far
(22:26:57) krzee: dazo, whats the roadmap link again?
(22:27:08) dazo: waldner:  or ... it could also go in front of as well 
(22:27:14) ***dazo looks up the url
(22:27:27) dazo: https://community.openvpn.net/openvpn/wiki/RoadMap
(22:27:28) vpnHelper: Title: RoadMap – OpenVPN (at community.openvpn.net)
(22:27:31) waldner: well, it will probably depend on the exposed functionality
(22:27:35) krzee: gracias =]
(22:27:52) dazo: waldner:  exactly
(22:28:04) waldner: they could even reside in different machines
(22:28:14) waldner: one machine encrypts, another just tunnels
(22:28:21) waldner: well maybe that's too ambitious
(22:28:23) waldner: :)
(22:28:24) krzee: waldner, and thats a + cause it allows for many different 
transports as well as using things besides openssl for the crypto if soemone 
makes the plugin
(22:28:26) dazo: waldner:  theoretically yes .. :P
(22:28:46) dazo: but basically, it depends on the SSL plug-in
(22:28:48) waldner: krzee: agreed
(22:29:01) dazo: anyhow ... we're far away from the agenda now
(22:29:18) CareBear\: not too ambitious - I think that will allow pretty 
interesting use cases
(22:29:20) mattock: dazo: good point, didn't want to stop you devs from 
drooling over 3.0 plans :)
(22:29:30) waldner: CareBear\: true
(22:29:54) mattock: krzee: do you want to discuss the bridging issue?
(22:30:03) ***dazo has been evaluating hardware encryption - which does the 
encryption as a network service
(22:30:14) krzee: sure, i had to reboot :( can you gimme the agenda again?
(22:30:22) mattock: yep: 
https://community.openvpn.net/openvpn/wiki/Topics-2010-05-27
(22:30:23) vpnHelper: Title: Topics-2010-05-27 – OpenVPN (at 
community.openvpn.net)
(22:30:39) krzee: ok
(22:30:55) krzee: in http://openvpn.net/index.php/open-source/faq.html#bridge1 
it talks about advantages and disadvantages of bridge / routing
(22:30:56) vpnHelper: Title: FAQ (at openvpn.net)
(22:31:04) krzee: i believe another disadvantage should be mentioned for 
bridging
(22:31:12) krzee: "Another bridge disadvantage should be that layer2 is 
insecure by design, opening your layer2 exposes to arp poisoning and the like."
(22:31:45) cron2: this is true
(22:32:06) waldner: but it's true of any bridging, eg the local LAN as well
(22:32:30) cron2: yxes
(22:32:32) krzee: exactly
(22:32:32) cron2: argh
(22:32:37) krzee: and people dont understand that
(22:32:50) krzee: they create bridges for untrusted users because they dont 
know better
(22:33:09) krzee: its definitely a disadvantage, and the user should be aware 
of it before using bridge
(22:33:22) krzee: if they choose to after being aware, thats fine =]
(22:33:37) krzee: also, ive come across people (myself included years ago) that 
ran into the issue where default route isnt made when bridging, the fix is to 
add route command at the end of sample-scripts/bridge-start
(22:33:39) waldner: well I'd say that if they don't trust the users, they 
shouldn't allow them VPN access in the first place
(22:33:44) ***dazo hope this will not include another startup warning in 
OpenVPN ....
(22:33:57) krzee: waldner, ie: VPN providers
(22:34:04) waldner: ok I see
(22:34:07) krzee: dazo, it definitely should not!
(22:34:10) cron2: waldner: it's a matter of trusting them to access the 
internal servers on well-defined interfaces, or whether they permit them to 
steal traffic between other machines in the LAN...
(22:34:18) krzee: dazo, im just saying for inclusion in that portion of the 
website
(22:34:48) dazo: krzee:  yeah :)  Just wanted to be sure your intention is 
understood correctly
(22:35:12) krzee: cool =]
(22:35:27) mattock: jamesyonan: shall I send krzee's FAQ modification to Frank?
(22:35:34) mattock: or who'll take care of it?
(22:35:44) mattock: (I assume we agreed the change makes sense)
(22:36:31) krzee: CareBear\, you said you often use bridge, can you comment on 
whether or not bridge-start sample script should add gateway at the end?
(22:36:43) cron2: no
(22:36:51) cron2: it really depends on what you want to achieve
(22:37:00) CareBear\: krzee : I always use my own scripts
(22:37:06) krzee: maybe i (and the others who needed to do this) did something 
wrong that required this
(22:37:20) CareBear\: krzee : I typically have a very small up script that adds 
the tap to the bridge
(22:37:25) CareBear\: (on the server)
(22:37:46) krzee: for me, running the bridge-start script would result in 
gateway loss, and i had to request a remote reboot, adding a line to set 
gateway at the bottom fixed it
(22:38:10) CareBear\: I usually have custom network config scripts too
(22:39:03) waldner: bridge-start, as it is now, may actually drop one's default 
gateway, if that happened to be via eth0
(22:39:33) waldner: because when br0 is reassigned eth0's IP, it only recreates 
the connected route, not anoy other routes that were going via eth0
(22:39:34) CareBear\: if bridge-start comes with openvpn that's kinda bad
(22:39:55) CareBear\: (it's always bad, but something bad for "us" to fix)
(22:39:59) krzee: its in sample-scripts/
(22:40:02) CareBear\: ouch
(22:40:18) krzee: as well as posted at 
http://openvpn.net/index.php/open-source/documentation/miscellaneous/76-ethernet-bridging.html
(22:40:19) vpnHelper: Title: Ethernet Bridging (at openvpn.net)
(22:40:24) krzee: (bottom)
(22:40:32) CareBear\: then I'm in favor of one of two solutions;
(22:40:33) waldner: I haven't tried it to be honest, but looking at it now I 
wouldn't be surprised if that happened
(22:41:06) CareBear\: 1. fix the issue completely - this is very difficult 
because it means that that script needs to support bridging on lots of 
different systems
(22:41:10) waldner: and also bridge-stop looke even more seriously flawed to me
(22:41:30) CareBear\: 2. the check-OCSP approach; make the script safe, but not 
fully functional
(22:41:31) waldner: it just deletes the bridge without doing *anything* with 
eth0
(22:41:35) jamesyonan: re: layer 2 security -- a lot of people really like 
layer 2 because of the broadcast propagation, and I think many of these people 
are okay with a security model where every user has complete trust, and where 
there is no secondary access control system that occurs after VPN authentication
(22:41:46) krzee: CareBear\, if given working scripts for multiple OS ild be 
happy to merge them
(22:42:04) CareBear\: jamesyonan : agree - I consider L2 an important feature 
of any VPN solution!
(22:42:23) CareBear\: jamesyonan : there are certainly cases where L2 is not 
desirable, but then it can be disabled
(22:42:45) krzee: jamesyonan, i fully agree, but i believe in that link in FAQ 
with advantages and disadvantages that opening up the ends to arp poisoning 
should be listed as a disadvantage
(22:43:01) mattock: so what to do with bridge-start and bridge-stop?
(22:43:15) krzee: (which can be overcome, but in that case having windows 
filesharing cant be an 'advantage' because WINS overcomes that)
(22:43:18) jamesyonan: I think the point is that we should be clear that layer 
2 is only for people who don't care about secondary access control
(22:43:37) waldner: mattock: they can be changed, but it's difficult to write 
something that will "just work" for any possible scenario
(22:44:09) krzee: its a point that people in the help channel often dont know 
about (the arp poisoning over layer2 bridge)
(22:44:18) waldner: certainly they should not be as they are now, imho
(22:44:20) CareBear\: it's even hard *within* openvpn to mess with default 
gateway
(22:44:23) cron2: ok, folks, need to leave now - bring $wife and $child to bed 
(and try to get enough sleepy myself).  Good meeting, though!
(22:44:31) mattock: waldner: agreed... could we do something easy that would 
make the scripts better?
(22:44:38) krzee: gnite cron2 !
(22:44:41) mattock: cron2: good night!
(22:44:42) waldner: good night
(22:44:43) CareBear\: that's C and has full access to state - in a shell script 
it would just be painful
(22:44:45) CareBear\: bye cron2
(22:44:58) jamesyonan: bridging is tough to set up because of the way that it's 
generally implemented in the kernel, i.e. using a virtual bridge device
(22:45:19) dazo: cron2:  c'ya! :)
(22:45:23) CareBear\: hard = needs more than one single configuration directive 
on/off
(22:45:44) CareBear\: jamesyonan : maybe it could be implemented by calling 
external tools..
(22:46:03) waldner: I've always done it the safe way, eg using a permanent br0, 
and my bridge-start only adds tap0 to the bridge
(22:46:06) krzee: im only suggesting a 1 line addition to the FAQ based on 
users not knowing (and sometimes caring) about it (and i believe it qualifies 
as a disadvantage, which may or may not matter to the user)
(22:46:23) CareBear\: krzee : I also agree there should be action
(22:46:29) waldner: mattock: but yes, that could perhaps be discussed in a 
meeting.
(22:46:30) dazo: CareBear\:  would be an approach ... but difficult when we 
need to support a lot of platforms too
(22:46:41) CareBear\: *nod*
(22:48:03) krzee: mattock, if its decided to make new bridge scripts for 
multi-OS, ild be happy to work on it if given scripts for OS's that currently 
work (basically just merging them into 1 script for multiple OS)
(22:48:19) waldner: if users are going to copy and paste them, we'd need 
something that at least does not disrupt the existing setup
(22:48:25) krzee: it would be easy, but i know most in here have more important 
stuff to do (things im unable to accomplish)
(22:49:24) dazo: krzee:  that's easy on *nix ... but scripting on Windows 
that'll require a completely different script
(22:49:36) krzee: does bridging in windows use a script!?
(22:49:37) mattock: krzee: what about basing the scripts against LSB (or what 
was it?) so that they should work on most platforms...
(22:50:00) dazo: krzee:  no, but you can most probably activate it via some 
powershell scripts
(22:50:14) waldner: mattock: posix
(22:50:24) krzee: mattock, i know nothing bout that, but if you see 
www.doeshosting.com/code/NStun.sh you can see its very easy in bash
(22:50:25) dazo: waldner:  +1
(22:50:43) krzee: (same in sh)
(22:50:48) waldner: the problem is that even the script syntax is portable, 
every OS has its own peculiarities regarding networksetup
(22:51:03) mattock: waldner: agreed (regarding peculiarities)
(22:51:14) krzee: waldner, right, you just case the uname in bourne shell
(22:51:23) waldner: so that's not to say it can't be done, but ertainly it 
isn't as easy as it would seem
(22:51:25) mattock: so should we keep the sample scripts what they are - sample 
scripts
(22:51:29) mattock: ?
(22:51:53) waldner: at the *very* least, bridge-stop badlyneeds fixing
(22:52:05) waldner: (yes, the space bar is striking today)
(22:52:17) mattock: ok, so what about this:
(22:52:40) CareBear\: mattock : I like the check-OCSP method
(22:52:52) CareBear\: make it safe but incomplete
(22:53:07) mattock: fix any obvious mistakes in the scripts and add a warning: 
"this script may or may not work on your platform - please edit it as necessary"
(22:53:09) waldner: CareBear\: yes, that forces people to customize it
(22:53:29) krzee: most users dont know where to start
(22:53:35) krzee: in customizing scripts
(22:53:43) waldner: maybe comments could help
(22:53:47) krzee: half the people ive seen using bridging know 0 about 
networking
(22:53:53) krzee: or scripting
(22:53:54) CareBear\: krzee : then they need to be educated, to close the gap
(22:54:04) waldner: well, bridge-start*already* needs customizing
(22:54:09) CareBear\: the point is that the gap is too large for developers to 
fill in the short term
(22:54:42) mattock: also, most distros / openvpn packages should have their own 
scripts
(22:55:03) waldner: not for bridging, AFAICT
(22:55:12) mattock: waldner: really?
(22:55:34) waldner: none of the distros I've tried comes with decent (or any, 
for that matter) bridge scripts
(22:55:37) dazo: krzee:  if people want to setup bridging and know nothing 
about it .... I'd say they either should learn it first or not do it :-P
(22:55:56) waldner: they do provide the standard OpenVPN bundled scripts, though
(22:56:20) waldner: but I'd be happy to be proven wrong
(22:56:29) CareBear\: dazo / krzee : at least until it can be made seamless by 
outstanding vpn software ;)
(22:56:57) dazo: but in general ... providing a good commented script, which do 
not work "out-of-the-box" is probably a good approach, to also teach something 
about what they are about to do
(22:57:15) waldner: agreed
(22:57:41) mattock: so what if we fix obvious errors in the scripts, add 
warnings / comments... then look into long-term solutions (e.g. "generic" 
bridge scripts that "just work")
(22:57:42) dazo: CareBear\:  true :)
(22:57:48) krzee: well yes i agree, please join in the IRC channel to help 
educate them :-p
(22:57:49) mattock: dazo: +1
(22:57:51) krzee: lol
(22:58:16) dazo: krzee:  heh ... you see where I'm most active nowadays :-P
(22:58:17) mattock: bridge scripts that "just don't work" don't help much :)
(22:58:38) CareBear\: yes, it's a great point to document in the script why it 
is crippled - or it will look like developers are just holding back to be mean
(22:58:50) mattock: can we _finally_ end the meeting and this script 
discussion? :D
(22:58:51) dazo: +1
(22:58:53) krzee: dazo, i was being a smartass, and certainly not talking to 
you (you do educate many people in there now)
(22:58:57) mattock: carebear: +1
(22:59:06) krzee: (including myself ;] )
(22:59:08) waldner: well, it's impossible to have a bridging script thatworks 
without any kind of customization I'd say
(22:59:14) dazo: krzee:  not as often now as earlier ;-)
(22:59:24) krzee: CareBear\, thats a good point. +1
(22:59:32) ***dazo mostly lurks on ##openvpn nowadays
(23:00:35) waldner: also it should be decided if it should be run before 
starting OpenVPN, or as a --up script, client/server, etc.etc.
(23:00:51) waldner: so it can probably be done, but needs some thought
(23:00:59) waldner: (ok, it's late)
(23:01:01) mattock: waldner: so users need to educate themselves with help from 
dazo and krzee... and then customize their bridge script accordingly :)
(23:01:28) ***dazo considers to throw a rock in mattock direction now
(23:01:28) waldner: we can help them with comments, and educate them on how to 
customize
(23:01:39) mattock: let's fix the scripts and make sure people understand they 
need to modify them
(23:01:48) waldner: yes definitely
(23:02:25) krzee: mattock, actually im not very useful educating users on 
bridging, mostly i show them why they dont need a bridge ;]
(23:02:32) mattock: ok, so script issues settled for now?
(23:02:35) krzee: (unless they actually do, which is rare)
(23:02:44) krzee: yes
(23:02:44) waldner: I can write a draft bridge-start and stop to be further 
discussed
(23:02:53) mattock: waldner: that'd be great!
(23:02:53) krzee: waldner, would be great
(23:02:57) dazo: waldner:  that would be awesome!
(23:03:01) waldner: \o/
(23:03:05) waldner: ok ok :)
(23:03:10) dazo: heh :)
(23:03:23) mattock: waldner: do you notice how we hook people into committing 
themselves? ;)
(23:03:33) waldner: :)
(23:03:37) ***dazo appoints waldner as the educator for now :)
(23:03:54) mattock: ok, it's getting mighty late here, anything else anyone?
(23:03:57) krzee: yay waldner /o\ (thats a handstand)
(23:04:16) mattock: we've already covered _a lot_ and it's been a great meeting!
(23:04:23) waldner: true
(23:04:26) dazo: thanks a lot everyone!
(23:04:33) krzee: yup, good meeting!
(23:04:35) dazo: it's been a good meeting, indeed
(23:04:37) waldner: thanks
(23:04:51) mattock: I'll try to summarize the meeting tomorrow evening or on 
Saturday
(23:05:00) mattock: bye all, I'm off to bed!
(23:05:06) dazo: perfect! thx a lot, mattock 
(23:05:14) mattock: you're welcome!
(23:05:22) krzee: gnite mattock 
(23:05:28) waldner: good night
(23:05:29) CareBear\: bye mattock
(23:05:32) dazo: gnite all
(23:05:38) ***dazo heads off to bed as well

Reply via email to