-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
Here's the summary of today's IRC meeting. - - --- COMMUNITY MEETING Place: #openvpn-devel on irc.freenode.net List-Post: openvpn-devel@lists.sourceforge.net Date: Monday 14th Dec 2015 Time: 20:00 CET (19:00 UTC) Planned meeting topics for this meeting were here: <https://community.openvpn.net/openvpn/wiki/Topics-2015-12-14> The next meeting has not been scheduled yet, but will probably be arranged two weeks from now. Your local meeting time is easy to check from services such as <http://www.timeanddate.com/worldclock> SUMMARY cron2, ecrist, lev, ltfish, mattock, rafaelgava100, syzzer and valdikss participated in this meeting. - --- Discussed the "Make ValdikSS's DNS leak fix platform agnostic" patch: <http://thread.gmane.org/gmane.network.openvpn.devel/10746> Several new versions of the patch were created and tested during the meeting. The final version worked on enough mingw-w64 and Visual Studio versions to allow giving it an ACK. - --- Discussed the "Added two feature to Network Address Translator" patch: <http://thread.gmane.org/gmane.network.openvpn.devel/10047> None of the attendees knew the affected codepaths well enough, so mattock sent email to jamesyonan, asking him to review the patch. - --- Discussed the "Distribute the GUI to run with highest privilege available" patch to openvpn-gui: <http://thread.gmane.org/gmane.network.openvpn.devel/10761> <https://github.com/OpenVPN/openvpn-gui/pull/6/commits> <http://thread.gmane.org/gmane.network.openvpn.user/36387/focus=36417> The approach taken in the patch seems sane. Mattock will do some basic testing with the patched OpenVPN-GUI and if all goes well, merge it into official installers. The testing does not have to postpone the 2.3.9 release, as new Windows installers can be released soon after initial 2.3.9 Windows installers are out. The alternative approach of using level=”requireAdministrator” seems to have the potential to break valid cases where the user _does_ have the privileges required for OpenVPN to work, but _does not_ have admin privileges. - --- Discussed OpenVPN 2.3.9 release. Here is the release plan: - - mattock posts changes.rst to list - - cron2 adds changes.rst, updates ChangeLog and version.m4 - - mattock builds 2.3.9 installers with all the new stuff - - if that is good, cron2 tags and we ship In addition: - - the initial windows installers will not have the openvpn-gui changes - - mattock will provide test installers with the changes and send a link to the list - - if the test installers work fine for people, new official installers will released - --- Full chatlog has been attached to this email. - -- Samuli Seppänen Community Manager OpenVPN Technologies, Inc irc freenode net: mattock -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlZvOGAACgkQwp2X7RmNIqO06QCfYWe5I34JUsOIMHP8bIUqBMeD laQAn0wF15O1NMd+whDYcje2p/dmERs1 =nSlq -----END PGP SIGNATURE-----
(21:02:34) mattock: hi (21:02:46) ecrist: hey, mattock (21:02:50) lev__: hi (21:02:50) mattock: hi ecrist! (21:02:56) mattock: ready to start the meeting? (21:03:01) mattock: https://community.openvpn.net/openvpn/wiki/Topics-2015-12-14 (21:03:03) vpnHelper: Title: Topics-2015-12-14 â OpenVPN Community (at community.openvpn.net) (21:04:49) syzzer: hi, yes, ready! (21:04:58) mattock: is the topic list ok? anything to remove or add? (21:05:14) cron2_: lev__: if you close 637, we can just have it done on the agenda :) (21:05:38) lev__: cron2_: I would like to but don't have trac admin rights (21:05:51) cron2_: oh? mattock: can you fix that, please? :-) (21:05:57) cron2_: (trac name is "stipa") (21:06:06) mattock: cron2_: ok (21:06:17) WayneD ha abbandonato la stanza (quit: Remote host closed the connection). (21:06:57) mattock: done (21:06:58) gava100: hi, I'd like to ask you guys about a patch: "Allow the user to use the string 'client-ip' on the client-nat network configuration as a convenient way to use the leased IP address received from OpenVPN server" (21:07:36) cron2_: it's on the agenda (21:07:54) gava100: oh great, thx! (21:07:57) cron2_: (though I'm not sure if mattock linked the right mail) (21:08:24) mattock: yes, I did (21:08:36) mattock: unless there is a version 2 or something (21:08:58) mattock: I'll check the previous discussion regarding that patch (21:09:31) gava100: exactly. The version 2 is only for this client-ip string. (21:09:48) cron2_: regarding fish's v2 patch - "close, but no cigar" - it is removing all #if _WIN32_WINNT >= 0x0600 lines, but some of them should actually be #if defined(WIN32) - those in init.c, for example, because otherwise it will fail non-windows builds (21:10:20) ltfish: i see (21:10:30) gava100: I think we should consider it instead of the previous patch. (21:10:38) cron2_: ltfish: so init.c needs to change the #ifdef - I think the rest is good (comparing with master) (21:11:06) ltfish: cron2_: let me fix it in init.c and test the build for linux as well (21:11:09) ltfish: cron2_: sorry for that (21:12:02) cron2_: ltfish: we all do this all of the time :-) - so I've learned what to look for (last time d12fk broke all the BSDs...) (21:13:09) cron2_: mattock_: you shouldn't close #637, just give lev__ the privileges to do so himself :-) - he did the work, he should have the privilege to close the ticket (21:13:12) ltfish: cron2_: instead of just completely remove "block_outside_dns" option for linux builds, is it better to leave a error message for linux clients with that option enabled? (21:13:43) mattock: cron2_: that one is also doable (21:14:24) mattock: as we're apparently already discussing topic #2 ("2.3.9 release") let's cover that, then move to other patch review (21:14:39) mattock: I can give a very brief summary of "moneyz" (topic #1) at the end (21:14:41) cron2_: ltfish: we discussed this in the context of valdikss' patch, and the general opinion was that platform-specific options are "just not there" on other platforms, so "unknown option" errors will result (which can be turned into warnings) (21:14:51) lev__: ltfish: warning maybe? otherwise .ovpn will be platform-dependent (21:15:28) cron2_: lev__: you can always have --ignore-unknown-option block-outside-dns in it (and on push, it will be a warning anyway) (21:15:37) valdikss: lev__: cron2_ said it's better use setopt or ignore unknows option (21:15:54) ***cron2_ defers to plaisthos - but I agree. Less code. (21:15:56) valdikss: lev__: and it won't fail if you push it from server (21:16:43) ltfish: so I suppose it's OK to wrap the whole option with `#ifdef WIN32` (21:16:47) lev__: well, I have no strong opinion on that (21:17:14) cron2_: ltfish: this is how the code in master looks like right now - it's in an #ifdef WIN32 block anyway, if I remember right (21:17:28) cron2_: yes, it is (21:17:47) valdikss: By the way, that's the difference between ifdef WIN32 and if defined(WIN32)? (21:18:10) ltfish: cron2_: yep, let me reread valdikss's patch (21:18:11) cron2_: valdikss: just stylistic, techically exactly equivalent (21:18:35) cron2_: if defined(WIN32) can be combined, like #if defined(WIN32) || defined(LINUX) - you can't do that with #ifdef WIN32 (21:18:39) valdikss: cron2_: OpenVPN uses both and I didn't know what should I use and where (21:19:18) cron2_: valdikss: 10 year old code base, a large number of contributors, and not always a strict regime on coding style... (21:19:25) cron2_: apologies for the mess (21:19:38) cron2_: (*I* did not do it, and tried my best to not make it worse) (21:19:41) mattock: the mess is only partially our fault :P (21:19:57) valdikss: cron2_: you shouldn't apologise. (21:21:06) cron2_: so, while ltfish is working on v3 - I seem to hear that "the windows team" wants to take this approach? (21:21:06) mattock: actually, I think we have done a pretty good job in cleaning up the mess (21:21:23) mattock: if I can avoid building several different binaries I'm all for it (21:21:39) mattock: the build/release process is complex enough as-is (21:21:59) cron2_: you already build different installers for xp and vista+... so adding a patch to the vista+ building does not sound overy difficult (21:22:06) cron2_: overly (21:22:34) mattock: not really, I build different installers for tap-windows and tap-windows6 on the other hand, and 32-bit and 64-bit on the other (21:22:42) cron2_: (but that patch would actually not be totally trivial to do... adding the configure bits fro mmaster) (21:22:58) plaisthos: hi (21:23:02) cron2_: mattock_: these could become "xp" and "vista+" then... (21:23:03) plaisthos: today no sport for me (21:23:03) mattock: hi plaisthos! (21:23:13) cron2_: plaisthos: hi! you're missing your sports for us! (21:23:18) plaisthos: not really (21:23:27) plaisthos: my shoulder does not feel good (21:24:05) mattock: cron: so without ltfish's patch I'd need to use different configure flags for XP and Vista+, right? (21:25:03) valdikss: mattock_: yes (21:25:14) mattock: ok, that is doable (21:25:18) cron2_: mattock_: right - effectively, a patch to configure would be needed (21:25:28) valdikss: mattock_: with ltfish patch you have one binary. That's the only difference. (21:25:51) mattock: yeah (21:26:41) mattock: I prefer the one binary approach at least in the long run, but I we can release 2.3.9 without ltfish's patch if needed (21:26:45) cron2_: flags alone might bring in the libraries but will fail finding inet_pton() I think, so f96baabc6c would be needed plus the configure.ac patch from 5fcd4933681 (21:27:38) ltfish: I think in the long run, unless 2.4 or master supports WinXP, it will be one binary for Windows anyways (21:27:55) mattock: master does not suppot winxp now (21:28:04) mattock: a few things are broken on XP already (21:28:08) ltfish: I might wanna try to make master support WinXP though. Don't really have time to see how difficult it is (21:28:21) cron2_: ltfish: master/2.4 won't support XP unless some really suprising reason shows up to apply your changes to master as well, plus the equivalent for GetIpRoute2() etc. (21:28:57) ltfish: cron2_: my patch should work on master without any major change - I can make it happen (21:29:01) cron2_: we officially do not care for XP in master :-) - we'll continue supporting 2.3 for quite sometime, and after that, XP should be dead (21:29:20) ltfish: cron2_: GetIpRoute2() is a different story... I'll try if I have cycles (21:29:23) cron2_: ltfish: this part, yes, but other parts also need vista+ now - that's the 5fcd493368120 commit (21:29:23) mattock: I would love it to be dead already (21:29:50) cron2_: ltfish: I actually think we should *not* go there for master, at least not without a strong reason (21:30:00) mattock: dropping XP support (=releasing 2.4.0) would allow us to drop tap-windows (non-6) for good (21:30:06) ltfish: cron2_: sure (21:30:25) ltfish: cron2_: personally I have dropped Xp support in my own fork a long time ago (21:30:32) cron2_: I'm not totally happy with "copy all the API bits into a private header file, assuming that they won't change" - maybe they will never change, but still (21:30:51) cron2_: but anyway, 2.3 - you guys decide, I merge (21:31:00) ltfish: cron2_: I was just proposing to fix master in case it's something you guys want, but no one has time to do it :-) (21:31:11) ltfish: v3 patch is ready to be sent (21:31:17) cron2_: seems everyone is in favour of "apply ltfish v3, single binary for 2.3" anyway...? (21:31:37) mattock: anyone else in favor of that besides me? (21:31:42) valdikss: cron2_: I don't care, you should ask buildsystem guys. (21:31:45) mattock: or somebody opposing it? (21:31:47) valdikss: cron2_: it works either way (21:31:53) cron2_: valdikss: buildsystem guy is "mattock" :) (21:32:18) valdikss: cron2_: mattock_: if this patch really ease building process, apply it. (21:32:19) cron2_: (and lev__, for MSVC) (21:32:49) syzzer: I prefer single binary too (since I'm occasionally a build system guy too ;) ) (21:33:23) cron2_: ok... I'll apply as soon as it arrives in my mailbox. Who is going to ACK it? (21:33:29) ltfish: mattock_: i'm im favor of that, obviously (21:33:35) mattock: ltfish: yep :) (21:34:07) cron2_: mattock_: can you add a windows snapshot builder that also auto-builds and auto-uploads release/2.3 snapshots? (21:34:34) cron2_: the auto-build-master thingie is totally great, saved me quite a lot of time yesterday (21:35:10) mattock: cron2: hmm, yes, I think that's fairly straightforward (21:35:25) mattock: lev__: you now have ticket modify rights in Trac (21:35:32) lev__: mattock_: ack (21:35:48) lev__: does that patch work on MSVC2013 ? (21:36:32) mattock: lev__: could you test it now? (21:36:37) mattock: before anyone gives an ACK (21:36:46) mattock: we could move forward while waiting (21:37:00) cron2_: lev__: it should (test v3, please) (21:37:25) ltfish: lev__: I couldn't test it on MSVC2013 since I don't have a build system for it right now (21:37:38) ltfish: lev__: I can test in on MSVC2010 though (21:37:39) valdikss: I can test it on 2015 (21:38:07) lev__: where I can get v3? (21:38:55) cron2_: ltfish: I think lev__ broke MSVC2010 recently... and supposedly options.c kills 2015 (21:39:51) ltfish: lev__: v3 just went out (21:40:02) ltfish: cron2_: :-( Maybe I'll fix that... (21:40:56) plaisthos: you can always use the experiemental clang stuff for msvc :) (21:41:14) ltfish: plaisthos: I have never tried that though. only for 2015? (21:41:25) cron2_: ah, v3 is on the list (21:41:40) cron2_: http://article.gmane.org/gmane.network.openvpn.devel/10793 (21:41:41) vpnHelper: Title: Gmane -- PATCH v3 Make block outside dns option platform agnostic (at article.gmane.org) (21:41:56) cron2_: ltfish: what does -lrpcrt4 do? (21:42:17) cron2_: (well, link librpcrt4.so, but why do we need it) (21:42:18) plaisthos: ltfish: yeah, with the ms backend (21:42:25) ltfish: plaisthos: nice (21:42:34) plaisthos: you can full llvm compiler for older msvc though (21:42:40) plaisthos: clang-cl.exe (21:42:44) ltfish: cron2_: I think I used one of the API from rpcrt4.dll (21:42:48) ltfish: cron2_: let me check (21:42:49) plaisthos: with cl.exe compatible command line interface (21:42:57) valdikss: It's for UUID (21:42:59) valdikss: or something (21:44:08) ltfish: cron2_: UuidCreate() (21:44:25) cron2_: ah (21:44:48) cron2_: so librpcrt4 is available on XP, and libfwpuclnt isn't? (21:45:01) lev__: is it for master / 2.3 ? (21:45:05) cron2_: 2.3 (21:45:06) ltfish: I don't think XP has support for WFP (21:45:11) cron2_: it hasn't (21:45:35) ltfish: "Windows Filtering Platform (WFP) is a network traffic processing platform designed to replace the Windows XP and Windows Server 2003 network traffic filtering interfaces." (21:46:02) ltfish: rpcrt4.dll should be available since Windows 2000 (21:46:29) cron2_: ltfish: is ConvertInterfaceIndexToLuid() also vista+? (21:46:45) ***ecrist shudders seeing "vista" (21:46:47) cron2_: (I was wondering why you LoadLibrary(iphlpapi.dll) which we link (21:46:58) valdikss: cron2_: yes (21:47:03) cron2_: ok (21:47:17) ltfish: cron2_: confirmed (21:47:28) cron2_: just checked msdn, and it agrees :) -ok (21:47:35) valdikss: cron2_: oh no, probably luid is available on XP (21:47:49) ltfish: cron2_: iphlpapi.dll changes a lot from XP to Vista (21:47:55) cron2_: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365826(v=vs.85).aspx says "Vista" (21:48:05) valdikss: cron2_: you're right (21:48:18) valdikss: Let me quickly build with v3 (21:48:27) cron2_: ltfish: I noticed with inet_pton()/inet_ntop()... but the *Luid() stuff sounds a lot like "windows always has *uuid for anything" :) (21:48:44) ltfish: cron2_: they love UUIDs (21:48:52) cron2_: yeah, testing by valdikss and lev__ would be appreciated (21:49:17) ltfish: cron2_: I'll see if I can compile it on VC2010 (21:49:41) ltfish: with testing in progress, maybe the meeting can be moved on? (21:50:04) ltfish: I feel kinda bad for creating a patch that takes so long to discuss... (21:50:24) cron2_: valdikss' patch reached v9 and it took 4 or 6 weeks :) (21:50:37) plaisthos: ltfish: don't be (21:50:43) ltfish: cron2_: I saw that... (21:50:49) plaisthos: we are a bit special when it comes to accepting patches (21:50:55) mattock: I'm fine with moving on (21:51:04) plaisthos: A lot of project do the commit and see if something break approach (21:51:51) cron2_: "CERT will let us know if we broke something important" (21:52:00) ltfish: cron2_: lol (21:52:59) mattock: next topic? (21:54:14) cron2_: windows :) (21:54:28) cron2_: or you could give us a short overview about moneyz in between? (21:54:45) gava100: I would suggest the NAT patch. :-) (21:55:13) mattock: let's do the NAT patch now (21:55:17) mattock: it's about 2 months old already (21:55:18) cron2_: no (21:55:29) mattock: ACK or NACK, but a resolution (21:55:48) gava100: please, let me explain a little bit about the NAT patch. (21:55:57) cron2_: yeah, but then dazo's and plaisthos' patches need review as well (21:56:42) mattock: yeah, we have plenty... (21:56:45) gava100: In fact, I was owing you guys a re-submission to this patch. In fact I was just requesting to consider the client-ip feature and drop the ftp-nat one. (21:57:03) mattock: that was what I gathered from the email thread (21:57:12) mattock: and the client-ip feature seemed less controversial (21:58:22) gava100: exactly. I resent a patch on oct, 26th with just the client-ip feature. And not sure if you guys had time to review it. (21:58:49) cron2_: gava100: the problem with that review is that it needs prior understand of the whole --client-nat option - which I still have not yet read up on. So it's a patch to improve an unknown-to-me options, which I just can't properly review yet. Apologies for being so slow, this code base is huge and not all of us understand all corners well enough yet (21:59:37) cron2_: plaisthos: I assume that this is something your users don't use at all, right? (22:00:11) mattock: jamesyonan knows the client-nat stuff (22:00:20) mattock: I'll send him email and ask if he could join (22:00:33) mattock: or if he could do a review of the patch, if he can't attend (22:00:35) plaisthos: cron2_: the client-nat? (22:00:37) plaisthos: cron2_: no (22:00:40) gava100: I understand. That is the reason that I'm asking you guys to consider just the email sent on Oct, 26th. The changes is small and simple. (22:00:49) plaisthos: cron2_: I don't need to routing features (22:01:28) plaisthos: on android you can connect on a 192.168.0.0/24 to a VPN that provides 192.168.0.0/24 and everything works fine (22:01:29) gava100: if you guys don't mind I can resend it right now or paste it on this conversation. (22:01:34) cron2_: mattock_: review would be more useful, I think. We have way more on our agenda today than we can handle - if we start going into a detailed patch review (of anything) time will be over before we finished the first one (22:02:00) cron2_: you have a very optimistic world view on reviewing complex patches :-) (22:02:42) cron2_: (and we still haven't finished item 2. - GUI and privileges...) (22:02:57) mattock: yeah, but that could potentially become a bike-shedding discussion (22:03:19) mattock: gava100: can you resend you patch, and I'll link it to jamesyonan (22:03:21) ***cron2_ abstains because he does not understand windows privileges (22:03:23) ecrist: I like red, just for the record. (22:03:37) cron2_: (nor manifests) (22:03:39) ecrist: Or green, each has it's merits. (22:03:46) mattock: ecrist: I prefer navy blue (22:04:01) gava100: sure. :-) (22:04:05) mattock: great! (22:04:09) cron2_: mattock_: why re-send? It's on the list already, and the surrounding code has not changed much, so it should apply fine (22:04:16) mattock: gmane does not have it (22:04:24) mattock: could be on sf.net archives, though (22:04:37) cron2_: http://article.gmane.org/gmane.network.openvpn.devel/10420 (22:04:37) vpnHelper: Title: Gmane -- PATCH Added client ip option to NAT (at article.gmane.org) (22:04:39) cron2_: of course gmane has it (22:04:57) mattock: ok, thanks, missed it :) (22:06:05) cron2_: if gmane is working, it's quite nice :-) - and with the message-id lookup function (curl -D- http://mid.gmane.org/$messageid |grep Location:) it is quick as well (22:06:08) gava100: yes, the patch is this one from gmane. So should I still resend it? (22:07:13) mattock: gava100: no need anymore (22:07:20) mattock: I send james a request for review (22:07:24) gava100: ok, thx! (22:07:31) cron2_: mattock_: thanks (22:08:07) cron2_: so, gui privileges - I think my users would like it if it "just works" - would that change be the equivalent of "[x] always run as administrator" or would it do something else? (22:08:46) valdikss: cron2_: from what I understand, it would do just that. (22:09:19) cron2_: in that case, using it on builds that have no iservice yet (<<-- remember to turn it off again :) ) sounds good to me (22:09:30) cron2_: I know that d12fk does not like it (22:09:49) mattock: if I understood the idea correctly, it would not request admin privileges, but "highest available" privileges (22:10:12) mattock: so if the user has (for whatever reason) privileges to create routes, but not generic admin privileges, OpenVPN would still work (22:10:22) cron2_: valdikss, lev__: any test results yet? release/2.3 + fish v3 compiles on linux just fine and passes all self tests - so basic sanity checks on the #ifdef passed (22:10:25) mattock: that said, I'm not sure how Windows determines "highest privileges" (22:10:40) ltfish: cron2_: it has troubles compiling on VC2010 (22:10:44) cron2_: ok, we need a windows privilege training... (22:10:45) ltfish: cron2_: trying to fix that right now (22:11:15) cron2_: ltfish: more complex than the declaration right in the middle of add_route_ipv6()? Just move that up to the function start... (22:11:44) ltfish: cron2_: I fixed that, maybe I'll send out a different patch later (22:12:07) ltfish: cron2_: I'm trying to find an elegant way to support nameless union in MSVC... (22:12:16) ltfish: any suggestions? (22:12:31) valdikss: cron2_: My W10 VM is semi-broken, launching another one. (22:12:41) syzzer: man, I'm looking forward to the day we can drop support for all non-C99-compliant compilers :p (22:12:44) cron2_: ltfish: where are we doing this? (22:13:02) ltfish: cron2_: in the struct definition I ripped from MinGW (22:13:09) cron2_: aaaargh. (22:13:18) cron2_: "give them a name" :) (22:13:27) ltfish: maybe I can just make them named... (22:13:42) lev__: MSVC 2013 says "win32_wfp.h(185): error C2061: syntax error : identifier '__C89_NAMELESS'" (22:13:47) ltfish: but it's not as elegant as a simple #define (if there is any) (22:13:51) ltfish: yep (22:13:54) ltfish: exactly the same issue (22:14:28) ***cron2_ rolls eyes (so we're now finally broken on 2010, 2013 *and* 2015) (22:15:17) cron2_: so how do the windows WFP headers deal with that? (22:15:40) ltfish: cron2_: let me see (22:16:46) mattock: I'm looking into the "Run with highest privileges" thing to figure out how it works... (22:17:15) gava100: excuse me guys. BRB. (22:17:21) gava100 ha abbandonato la stanza (quit: Remote host closed the connection). (22:17:39) valdikss: v3 works as expected on Windows 10 (22:17:46) valdikss: Compiles file for Linux too (22:17:48) cron2_: valdikss: built with mingw? (22:17:50) valdikss: fine* (22:17:53) valdikss: cron2_: yes (22:18:17) ltfish: cron2_: MS header files just don't have "_C89_NAMELESS" stuff (22:18:21) ltfish: cron2_: let me release a v4 (22:18:22) cron2_: ok, cool. So it's "just" MSVC that is finally and completely broken... (22:18:45) cron2_: ltfish: well, does it work if you insert #define __C89_NAMELESS before the definitions? (22:19:08) cron2_: ("define to nothing")? MINGW might actually *need* this... or at least we need to test again (22:20:58) ltfish: cron2_: I'll test and see how to make MSVC and MinGW both happy (22:23:34) lev__: ltfish: I can help with MSVC2013 testing (22:24:57) ltfish: lev__: thanks! give me a few minutes and I'll release v4 (22:31:10) mattock: it looks like "Run with highest privileges" allows bypassing the UAC prompt (22:31:48) mattock: at least some apps have a checkbox for it (e.g. "Task manager" and "Schedules tasks") (22:32:03) mattock: I suppose it can be set in the application manifest (22:32:17) ltfish: mattock_: if the highest privilege is Administrator, then yes (22:34:50) mattock: and if I've understood correctly, using level=ârequireAdministratorâ would break valid cases where the user _does_ have the privileges required for OpenVPN to work, but _does not_ have admin privileges (22:35:22) mattock: if so, I think we should merge Selva's one-liner: https://github.com/OpenVPN/openvpn-gui/pull/6/files (22:35:23) vpnHelper: Title: Run with highest privilege available by selvanair · Pull Request #6 · OpenVPN/openvpn-gui · GitHub (at github.com) (22:36:57) valdikss: v3 works 'fine' on XP (22:37:01) mattock: I can do some light testing before merging it, though (22:37:15) cron2_: please :) (22:37:18) valdikss: GUI waits alot and fails with generic error (22:37:33) valdikss: It seems that openvpn dies too quickly for gui (22:37:58) cron2_: die'ing on command line parsing is not something the gui handles well (22:37:59) mattock: valdikss: with v3 applied? (22:38:08) cron2_: as in "not at all" :( (22:38:44) cron2_: oh (22:39:02) cron2_: we might need to revisit the decision to make "cannot initialize wfp" M_FATAL (22:39:45) cron2_: (which is what msglevel_fc does for options from config files or command line does, IIRC) (22:39:48) cron2_: plaisthos: ? (22:40:34) ltfish: alright, it complies for me on VC2010 (22:40:41) ltfish: phew (22:40:47) mattock: btw. Selva's one-liner does not need to postpone the 2.3.9 release... I can create new Windows installers after it has been proven (22:41:34) cron2_: mattock_: well, that will only delay building of the windows installers... (22:42:12) valdikss: mattock_: yes (22:42:14) ltfish: v4 is sent (22:42:23) mattock: I mean we can just release 2.3.9 without the patched GUI, and quickly after that release installers with the patch (22:42:23) lev__: ltfish: ack (22:42:30) ltfish: valdikss: lev__: could you please test it for me? (22:42:36) valdikss: ltfish: sure (22:42:41) ltfish: awesome :-) (22:42:51) valdikss: ltfish: what has changed? (22:43:04) cron2_: ltfish: that is "mingw and msvc2010" safe? (why isn't msvc2010 bombing on lev__'s patch to route.c??) (22:43:34) ltfish: cron2_: with my own MSVC2010 patches, it works (22:43:48) ltfish: cron2_: I'll submit MSVC2010 patches later, maybe not for release 2.3.9 (22:43:49) cron2_: ltfish: so, other patches in tree to make it work? (22:43:53) cron2_: ah (22:44:11) ltfish: cron2_: yep. I patched several __attribute__ and noreturns (22:44:17) ltfish: cron2_: and also the route.c thingy (22:44:22) cron2_: oops (22:44:38) cron2_: ok, v4 on list (22:44:51) ltfish: cron2_: is there any preferred way to patch __attribute__ for MSVC2010 in OpenVPN code? (22:45:01) ltfish: cron2_: I guess I can do it real quick (22:45:18) cron2_: ltfish: could you point me at an example? (22:45:43) ltfish: const cipher_kt_t *cipher_ctx_get_cipher_kt (const cipher_ctx_t *ctx) __attribute__((nonnull)); (22:45:47) ltfish: from crypto_backend.h (22:46:07) ltfish: __attribute__ is not supported by MSVC2010 (22:46:18) ***cron2_ has no idea and defers to syzzer... maybe just #define __attribute__(x) (22:46:22) lev__: ltfish: that's what I did https://github.com/OpenVPN/openvpn/commit/123092a7a95f13f0509d2dc52ec049f91a02686d#diff-721cc86acd0ddab116db5d0d7f03ef7dR50 (22:46:23) vpnHelper: Title: This fixes MSVS 2013 compilation. · OpenVPN/openvpn@123092a · GitHub (at github.com) (22:46:51) syzzer: hmm, I think we did something like that in master (22:47:22) mattock: I wonder how old Visual Studios we want to / need to support... (22:47:23) cron2_: src/openvpn/syshead.h:#define __attribute__(x) (22:47:25) cron2_: indeed (22:47:36) cron2_: (this is from master) (22:48:38) syzzer: yes, Lev fixed it in 123092a (22:50:09) ltfish: is that commit not applied to release/2.3? (22:51:15) cron2_: no, because part of it are master (like the comp.c, compstub.c addition to vcproj) (22:51:27) cron2_: so the syshead.h part could nicely go to 2.3 (22:51:46) cron2_: and the config-msvc.h (22:52:18) cron2_: wth is WINBOOL vs. BOOL... *scratch head* (22:52:30) ltfish: uh, so I think it's better for lev__ to submit a patch for that to release/2.3, and then I can happily just #include "syshead.h" in error.h and crypto_backend.h (22:52:31) cron2_: all the other changes v3->v4 look reasonable (22:52:47) ltfish: cron2_: WINBOOL is something special in MinGW... (22:53:03) cron2_: ltfish: most likely it's already included anyway, via openvpn.h or such (22:53:27) ltfish: "Mingw-w64 headers do use WINBOOL instead of BOOL as boolean data type to not conflict with ObjectiveC (GNUStep) BOOL definition" (22:53:36) ltfish: so I simply changed it to BOOL (22:54:13) ***cron2_ learned too much that he did not want to know today :) (22:54:16) ltfish: cron2_: nice, you are right (22:54:39) ltfish: just adding that line to syshead.h worked (22:54:49) ***cron2_ thanks lev__ :) (22:55:02) ltfish: since it was lev's patch orignally, I think it's reasonable for him to submit the patch to release/2.3 (22:55:15) ltfish: unless he'd like me to do it? (22:56:08) lev__: ltfish: up to you, I can do it as well (22:56:42) cron2_: valdikss: to make it work, you need to call "setenv opt block-outside-dns", I think (22:57:09) cron2_: this will make msglevel_fc M_WARN, so if it cannot open WFP or it's a 2.3.8 binary, it will not abort (22:57:32) cron2_: scary innards of options.c (22:58:04) ltfish: lev__: please do so to keep your author attribution! (22:58:54) valdikss: cron2_: ltfish: w10 works, w7 works, testing xp (23:02:52) lev__: yay, build success on MSVC2013 (23:03:25) valdikss: ltfish: cron2_: works fine with setenv opt block-outside-dns on XP but not with ignore-unknown-option (23:04:13) cron2_: valdikss: yes, with the patch, the option is not "unknown" - so that part does not even see it (23:04:38) valdikss: cron2_: I see (23:04:46) mattock2 [~mattock@openvpn/corp/admin/mattock] è entrato nella stanza. (23:05:09) mattock: mattock2 again (23:05:48) mattock: I need to split soonish, but mattock2 who refused to work with my IRC bouncer will monitor the channel for a while (23:05:55) cron2_: lol (23:06:13) cron2_: anyway, I think we're good to go as soon as Lev__ is also happy with the patch (23:06:22) mattock2 ha abbandonato la stanza (quit: Remote host closed the connection). (23:06:28) cron2_: it is already sitting in my tree waiting for me to add a "tested-by:" and pushing it... (23:06:33) mattock2 [~mattock@openvpn/corp/admin/mattock] è entrato nella stanza. (23:07:07) cron2_: mattock473: while we wait for lev__ - could you give us the 2-minute update on moneyz? (23:09:29) mattock: let me (23:09:39) valdikss: Is it normal for XP version to fail IPv6 route? (23:09:56) cron2_: sortof (23:09:56) mattock: no more updates on Flattr, I discussed it a bit with Francis (23:10:17) cron2_: valdikss: stock XP has no v6, so you need to do "netsh interface ipv6 install" first (23:10:27) mattock: except that he seemed ok-ish with it, although would prefer not to take (and manage) donations (23:10:30) cron2_: before that, the whole ipv6 subsystem is "just not there" - no v6 dns, ... (23:11:07) valdikss: cron2_: you're right (23:11:13) cron2_: openbsd has an "openbsd foundation", which is a canadian non-for-profit org, has two retired coders guarding it, and they never receive money out of the pot (23:11:22) mattock: the OSTIF.org kickstarter campaign is ongoing, but unless they manage to convince VPN providers and others to donate soonish, they will never reach their quite lofty goals (23:11:29) cron2_: (so no "put money into your own pocket") (23:11:57) lev__: works on Win7 - I see WFP related messages in log (23:12:05) valdikss: v4 works fine on XP, 7 and 10 (23:12:11) cron2_: cool (23:12:17) mattock: personally I think splitting the huge kickstarter projects into smaller per-project (openvpn, openssl, etc) chunks might have been a better idea, but we'll see (23:12:53) valdikss: Bitcoin? (23:13:10) mattock: the main problem with Flattr as far as the company is concerned is probably the bookkeeping etc. (23:13:32) mattock: moving around the money, possibly paying taxes for the work being performed, etc. (23:14:01) cron2_: yep... (23:14:04) valdikss: Bitcoin? (23:14:19) mattock: moving the money is not an issue really, whether flattr or bitcoin (23:15:03) mattock: it would be trivial to donate to a single person (23:15:20) mattock: donating to a corporation is more tricky (23:15:34) mattock: and I don't see anyone creating an "OpenVPN foundation" quite yet (23:16:03) cron2_: yeah, not before we have lots more money coming in (so taxes get a larger issue) (23:16:15) mattock: having an external party handle the donations would actually be what I prefer (23:16:25) cron2_: so... as a side note... you're all good to go with fish v4? (23:16:44) mattock: anyways, I think we should see how the OSTIF.org thing turns out eventually (23:17:11) mattock: iff they can raise money and are otherwise reasonable, I would not mind saying "just give money to them" (23:17:31) mattock: especially if they had separate venues for different projects (23:17:37) mattock: but let's not get ahead in things :) (23:18:00) valdikss: cron2_: works for me on XP, 7 and 10. (23:19:13) mattock: enough coverage for an ACK? (23:19:37) cron2_: I'm fine ACKing it if valdikss and lev__ are fine with the result :-) (23:20:20) lev__: cron2_: v4 compiles with MSVC2013 and runs on Win7 (23:20:25) cron2_: \o/ (23:20:26) cron2_: go (23:20:45) mattock: I will mention that the patch was ACKed then (23:20:47) ltfish: btw, I assume we don't want that patch in master (23:20:47) cron2_: (as a side note, I have rarely seen *so* much red in the builder list...) (23:20:58) mattock: :P (23:21:13) ltfish: what does red mean? (23:21:19) cron2_: ltfish: right. Master is just vista+, using normal header files. We might come back to it :-) (23:21:19) mattock: build breaks (23:21:26) cron2_: ltfish: "broken builds"... (23:21:38) ltfish: :-( (23:21:38) cron2_: which has nothing to do with *your* patch... that was syzzer and me behind your back (23:22:18) cron2_: we committed something to master which is useful and worked for both of us, but uses a function not available in older openssl versions, so it broke basically everything still using 0.9.8 or 0.9.9 (23:22:26) syzzer: yep, trying to figure out for which versions of openssl to work around the brokenness... (23:22:47) ltfish: i see (23:22:48) mattock: are you guys ready to call this a day? (23:22:57) mattock: I'm about to press "Send" on the summary (23:23:02) cron2_: wait :) (23:23:06) mattock: ok (23:23:09) cron2_: how do we move ahead with 2.3.9? (23:23:30) valdikss: What about admin GUI? (23:23:42) cron2_: maybe you can just send your changes.rst proposal to the -devel list, and I take it, commit it, update ChangeLog and tag? (23:23:42) valdikss: Release 2.3.9 then update installers? (23:23:46) mattock: I will test the "highestavailable" GUI (23:24:00) mattock: valdikss: possibly yes (23:24:17) mattock: depends on whether we want to be really safe (23:24:40) mattock: if we want safe, then I will produce installers with that feature turned on, and send a link to ml for testing (23:24:55) mattock: if we think it won't break things, then I can release it in first 2.3.9 installers (23:25:18) mattock: somebody might want to have a quick look at the Changes.rst: http://build.openvpn.net/Changes.html (23:25:26) mattock: that's more pretty than the rst version (23:26:01) cron2_: maybe add the name of the option --block-outside-dns? (23:26:04) valdikss: mattock_: I can't be sure it won't break things. I mean, it should work for most of people, but what if it breaks a setups with services? (23:26:26) cron2_: and "behavioural changes" is just wrong regarding "proto udp" - we must not just copy stuff from master, as *trees are different* (23:26:48) valdikss: mattock_: I suppose there are people who use gui from a restricted users and have service correctly configured. Would it break things for them? (23:26:49) cron2_: well, is that for 2.4 or for 2.3? (23:26:51) lev__: should I add async-push and inotify to 2.4 changes (23:27:18) cron2_: lev__: please send a patch to git master Changes.rst - it's "what plaisthos found easily", not complete yet (23:27:23) mattock: cron2_: what are you referring to with "proto udp"? (23:27:55) mattock: "proto udp and proto tcp specify to use IPv4 and IPv6."? (23:28:03) cron2_: mattock_: I was confused that you did put both into the same file. I would just not do that - someone looking at 2.3 Changes.rst is not intersted in stuff he has not in there (23:28:16) mattock2 ha abbandonato la stanza (quit: Remote host closed the connection). (23:28:27) mattock: well, actually he might be interested (23:28:31) cron2_: the 2.3 section is missing block-outside-dns, though :-) (23:28:33) mattock2 [~mattock@openvpn/corp/admin/mattock] è entrato nella stanza. (23:28:36) mattock: and drop 2.3 in favor of 2.4/master (23:28:45) mattock2 ha abbandonato la stanza (quit: Client Quit). (23:28:56) cron2_: but then he can go to the web and look there, or do a git clone - but it does not belong into a release/2.3 tar ball (23:29:13) mattock: you're being a purist :P (23:29:24) mattock: of course it does not belong there, but do we care enough? (23:29:26) cron2_: (we'd have to do updates to 2.3 every time we add a git master feature - I don't think that is useful :-) ) (23:29:32) ***cron2_ cares, always (23:29:41) cron2_: and I'm willing to do most of the commit work (23:29:42) mattock: well yes, it can get messy (23:29:44) mattock: fine (23:30:08) cron2_: just throw text fragments at me - as with ChangeLog and version.m4 today... (23:30:11) mattock: so do we want this type of Changes.rst for "master", and only the 2.3 stuff for release/2.3? (23:30:22) gava100 [~gava100@189.78.16.204] è entrato nella stanza. (23:30:40) mattock: or only 2.3 -> 2.4 stuff for master? (23:31:20) mattock: the usual approach would be to have all changes since the beginning for the "master" changes.rst (23:31:30) cron2_: I'd do 2.3->2.4 stuff in master, 2.2->2.3 stuff in release/2.3 (but maybe not 2.2, as that was really long ago - maybe just 2.3.8->2.3.9) (23:32:09) mattock: shall we remove the old ChangeLog (=text file)? (23:32:22) cron2_: I'd keep that, it has different details (23:32:28) mattock: ^ sounds fine, keeps the files small (23:32:43) cron2_: (and is not hard to do, as it basically comes from git --shortlog) (23:32:48) mattock: yeah (23:33:27) mattock: do we want an "Overview of changes" section as well as more fine-grained sections per-release, like there are now? (23:33:34) cron2_: hrmph, this syzzer guy wins again... 11 commits 2.3.8->2.3.9... plaisthos and I have 7 each... (23:33:57) cron2_: mattock_: I think this is good, though twice the updates (23:34:12) mattock: ok, so just split it into pieces for master and 2.3 (23:34:39) mattock: I think the "Overview" part is most useful (23:34:47) mattock: for people upgrading from previous major releases (23:34:59) cron2_: yep (23:35:17) cron2_: so, next steps: (23:35:24) mattock: if we keep the ChangeLog, which essentially has the "git shortlog", then that part could be scrapped from Changes.rst with the possible exception of "changes in the very latest release" (23:35:33) cron2_: - mattock posts changes.rst to list (23:35:44) cron2_: - cron2 adds changes.rst, updates ChangeLog and version.m4 (23:35:59) cron2_: - mattock builds a test 2.3.9 installer with all the new stuff (23:36:07) cron2_: - if that is good, cron2 tags and we ship (23:36:09) cron2_: plan? (23:36:19) mattock: yes, sounds good (23:36:20) cron2_: (and then we bug syzzer about 2.3.10) (23:36:32) mattock: and the initial windows installers will not have the openvpn-gui change (23:37:00) mattock: but mattock will provide test installers, send a link to the list, and if all goes well, mattock can produce new official windows installers soonish (23:37:07) cron2_: +1 .) (23:37:11) mattock: rather that, than break one million configurations out there (23:38:12) cron2_: cool. Now this was a good meeting - but I think you can see now why I was fairly sure we wouldn't have time for more patch review :-) (23:39:08) cron2_: lev__: saw your ACK, will merge when time (23:39:26) lev__: so, can we call it a day? (23:39:33) cron2_: good night! (23:39:35) gava100: Please guys but what was the veredict for NAT client-ip? (23:39:50) gava100: I missed some parts of the meeting. :-) (23:40:07) mattock: gava100: no conclusion, James has not replied to me yet (23:40:09) lev__: good night! (23:40:13) mattock: I will bug him about it until he responds (23:40:24) mattock: good night!