Hi,
Here's the summary of the IRC meeting.
---
COMMUNITY MEETING
Place: #openvpn-meeting on libera.chat
Date: Wed 11th August 2021
Time: 14:00 CET (12:00 UTC)
Planned meeting topics for this meeting were here:
<https://community.openvpn.net/openvpn/wiki/Topics-2021-08-11>
Your local meeting time is easy to check from services such as
<http://www.timeanddate.com/worldclock>
SUMMARY
cron2, dazo, lev, mattock, MaxF, ordex, plaisthos and zx2c4 participated
in this meeting.
---
Ordex has sent a patch to get rid of PF support in openvpn 2.6.
---
Talked about the pluggable transport patchset that was funded by Google
and implemented by Operator Foundation. Ordex is still in discussion
with the involved parties.
---
Talked about the new buildbot setup. Mattock attempted to start setting
up the production dockerized buildmaster, but lacked permissions to
create the EC2 instance (not being in ops anymore). He created an
internal ticket about this to get things moving forward.
Mattock also published the buildbot work as a PR to openvpn-vagrant:
<https://github.com/OpenVPN/openvpn-vagrant/pull/18/>
He also started adapting the MSI installer WiX source files to take the
results of new built-in msbuild buildsystem in OpenVPN as their source.
---
Talked about AutoHCR also known as HLK-CI. It is now testing
tap-windows6 pull requests automatically. Permissions are handled by a
separate "openvpn-ci" GitHub user created by mattock who has write
permissions to tap-windows6. Those permissions are, however, narrowed
down by providing the HLK-CI guys openvpn-ci's GitHub PAT ("personal
access token") that only grants "repo:status" permission. Tests results
are uploaded automatically to a Dropbox share.
Also noted that attempting to resolve all the issues found by HLK(-CI)
is probably not worth the effort, given that there are already better
drivers to replace it.
---
Lev gave an update on dco-win. He plans to look into doing crypto
directly on network buffers without copying, which should make it even
faster.
---
Talked about Wintun. Zx2c4 mentioned that many people would like to have
an updated version of Wintun included in OpenVPN. Wintun will continue
to be maintained despite the fact that a new driver will replace it in
Wireguard.
---
Talked about profile import functionality for openvpn-gui:
<https://github.com/OpenVPN/openvpn-gui/pull/436>
Noted that while this approach is quite brutal, it is the only one that
seems to work reliably across all platforms.
--
Full chatlog attached
(15:01:14) MaxF: Hi!
(15:01:19) mattock: hi!
(15:03:37) lev___: hello
(15:05:35) ordex: hi!
(15:05:43) ordex: cron2_: dazo: plaisthos:
(15:06:00) ordex: cron2_ will be a bit late
(15:08:52) dazo: Hey!
(15:09:00) cron2_: hy
(15:09:16) ordex ha scelto come argomento:
https://community.openvpn.net/openvpn/wiki/Topics-2021-08-11
(15:09:58) ordex: please be quiet !
(15:10:11) ordex: it seems we're too much into summer mode
(15:10:16) ordex: mattock: do something! :D
(15:10:48) mattock: hi
(15:10:51) mattock: sorry, got distracted
(15:11:01) mattock: anyhow
(15:11:24) mattock: https://community.openvpn.net/openvpn/wiki/Topics-2021-08-11
(15:11:28) mattock: sync up
(15:11:51) ordex: more patches went in
(15:12:02) ordex: I sent a patch to get rid of PF support in openvpn 2.6
(15:12:06) ordex: as discussed
(15:12:21) cron2_: yes!
(15:13:08) ordex: <o/
(15:13:54) ordex: for the transport-api I am still discussing with the involved
parties what are the advantages of pushing for a merge, when an external proxy
seems to do the job already
(15:14:06) plaisthos: sorry fore being late
(15:14:14) ordex: and if there are advantages, who will offer 'community
mainteinance'
(15:14:21) ordex: it's an ongoing discussion at the moment
(15:14:21) cron2_: ordex: proxy will only do TCP mode, right?
(15:14:34) plaisthos: the plugin api was also tcp only iirc
(15:14:41) ordex: cron2_: I don't know what their "proxy" (they call it
dispatcher) do
(15:14:42) cron2_: well, if the proxy offers a SOCKS interface, it could do
UDP...
(15:14:52) ordex: nono, it's not a proxy in the real sense
(15:15:00) ordex: but rather a middleware implementing the obfuscation
(15:15:14) ordex: I don't know the low level details, but it should be doing
what the plugin in openvpn does
(15:15:16) cron2_: yeah, but openvpn needs to talk to it, in some way
(15:15:21) ordex: right
(15:15:26) ordex: it could just be the remote
(15:15:54) ordex: anyway, if this is a real problem I guess they will point it
out once they will get back to me
(15:15:54) cron2_: good point ("remote ::1 12345 udp")
(15:16:05) ordex: right
(15:17:02) d12fk ha abbandonato la stanza (quit: Quit: ZNC 1.7.2+deb3 -
https://znc.in).
(15:17:24) d12fk [~he...@exit0.net] è entrato nella stanza.
(15:18:32) ordex: not much else to add to this topic for now
(15:18:35) ordex: will keep you posted
(15:19:58) mattock: ok
(15:20:23) mattock: I can give a brief update as well
(15:20:28) cron2_: 1
(15:20:30) cron2_: +
(15:21:09) mattock: I tried to start setting up the new production buildmaster
(15:21:29) cron2_: I saw your PR, but had no time to look more closely
(15:21:33) mattock: however, I was immediately blocked by the fact that I did
not have access to the terraform repository in which I should have added the
EC2 instance
(15:21:46) mattock: so, I filed a ticket asking for permission to the repository
(15:21:53) mattock: did not yet check if I got an answer
(15:22:03) mattock: meanwhile I created a PR for the dockerized buildbot work
(15:22:24) mattock: and started working on adapting WiX to consume the results
of the new msbuild buildsystem
(15:22:44) cron2_: that sounds pretty cool
(15:22:46) mattock: the PR is in a good shape afaics, but WiX is fighting back
and does not provide much debugging info to figure out what is wrong
(15:23:06) mattock: in theory adapting the WiX source files is easy, there's
probably just some small glitch somewhere
(15:23:41) mattock: anyhow, that's what I'll continue doing
(15:23:54) ordex: may I dare to ask what is WiX?
(15:24:14) mattock: yes, it is the tool that is used to compile WiX XML files
into MSI installer packages
(15:24:27) mattock: so XML is the source and WiX makes it into an installer
(15:24:42) ordex: oh I see
(15:24:43) ordex: cool
(15:24:53) mattock: our official MSI installer are built using WiX
(15:24:59) ordex: so to create the MSi we need to only maintain the XML file ?
(15:25:06) mattock: yes
(15:25:10) ordex: oky, cool
(15:25:34) mattock: also, if this was not mentioned before: the tap-windows6
automatic HLK/HCK test thing is working
(15:25:59) ordex: oh ok
(15:26:12) cron2_: coool
(15:26:30) cron2_: could you sort out the permission issues for the
tap-windows6 repo?
(15:26:42) mattock: the openvpn-ci user in github you see in tap-windows6 repo
permissions is for that purpose
(15:26:49) mattock: yes
(15:26:57) mattock: the openvpn-ci user was created by me
(15:26:57) cron2_: so what permissions does it need?
(15:27:02) mattock: ok, so
(15:27:13) cron2_: they were asking for permissions last week, I gave them
"triage" but did not want to give them "write"
(15:27:14) mattock: openvpn-ci user has "write" access to tap-windows6 repo
(15:27:34) mattock: however, it gains the write access via GitHub PAT
("Personal Access Token") which only grants "repo:status" permission
(15:27:41) mattock: so basically the PAT narrows down the permissions
(15:27:47) cron2_: aha!
(15:27:57) mattock: and we (=me) control the user + PAT, so they can't write
anything to the repo with the PAT
(15:28:08) mattock: except change the "build failing/succeeding" thing
(15:28:20) cron2_: this is good (and way beyond my understanding of github
things)
(15:28:54) mattock: yes, it seems like a reasonable setup, even though using
personal access tokens for this seems unhygienic :)
(15:29:04) mattock: but apparently that's the easiest (or only reasonable?) way
to do this
(15:29:21) mattock: that's all from my end
(15:29:59) cron2_: so what does this setup *do*? Automatic WLK/HLK tests on
each commit to tap-windows6, and feedback?
(15:30:05) mattock: yes
(15:30:17) mattock: it also puts all the test logs into a dropbox share
(15:30:36) mattock: I think this is quite useful to spot regressions
(15:30:48) mattock: the dco-win thing is still on the plate I think
(15:30:55) mattock: testing dco-win with HLK/HCR
(15:30:56) mattock: lev?
(15:31:07) cron2_: so we need to commit something to tap6-windows to get a HLK
test result :)
(15:31:10) cron2_: does it pass nowadays?
(15:31:15) lev___: yeah I haven't heard for a while from those guys about
dco-win
(15:31:42) mattock: cron2: yes, exactly
(15:31:47) mattock: it does not pass, but it never has
(15:31:50) mattock: most of the things pass
(15:31:58) mattock: so if more things start failing then that's a regression
(15:32:01) cron2_: ic
(15:32:08) cron2_: does anyone understand what is failing and why?
(15:32:11) mattock: it seemed like HLK-testing tap-windows6 was a quite
difficult corner-case
(15:32:25) mattock: a driver that did not really fit into any preconceived
category
(15:32:36) mattock: no, I spend ages on getting most of the HLK tests pass
(15:32:38) mattock: spent
(15:32:51) mattock: I can't recall all the details, but those are documented in
the Wiki
(15:32:58) lev___: for me HLK is a black box
(15:33:06) cron2_: I do remember the shared pain
(15:33:30) mattock: anyhow, once the perceived need to make the tests pass
vanished, so did my efforts to make the tests pass :)
(15:33:58) ordex: is there real interest in "improving tap-windows6" ?
(15:34:07) mattock: probably not a huge amount
(15:34:14) mattock: it works and is stable, even if slow
(15:34:18) mattock: then we have dco-win
(15:34:38) ordex: right
(15:34:42) mattock: microsoft is also slowly getting rid of NDIS
(15:35:11) mattock: I think at that point tap-windows6 will be beyond salvaging
(15:35:38) ordex: yeah
(15:35:51) mattock: lev: aren't you using a completely different framework for
dco-win?
(15:36:03) lev___: NetAdapterCx
(15:37:11) lev___: it is uses NDIS underneath, though, but that's how driver
development works in windows - new stuff is built on top of old stuff (WDF on
top of WDM, for instance)
(15:37:16) lev___: *it uses
(15:37:59) lev___: "NetAdapterCx gives you the power and flexibility of WDF and
the networking performance of NDIS, and makes it easy to write a driver for
your NIC."
(15:38:38) ordex: well, it won't go EoL with NDIS, no?
(15:38:45) rob0 [~rob0@openvpn/support/rob0] è entrato nella stanza.
(15:39:09) cron2_: I'm not so sure NDIS will go EOL in the near future...
especially if it's used by NetAdapterCx
(15:39:29) cron2_: but maybe discouraged for new drivers
(15:39:34) lev___: it won't, but the development focus is in NetAdapterCx
(15:39:47) ordex: makes sense
(15:39:48) lev___: they're very good at compatibility
(15:40:39) lev___: speaking of ovpn-dco, MaxF did a great job on reproducible
builds
(15:41:16) ordex: cool
(15:41:26) MaxF: thanks :) I'll have a new pull request ready today for more
comments, and then I'll send it to the mailing list
(15:41:57) ***cron2_ just merged MaxF's patch
(15:43:09) MaxF: since ovpn-dco-win is only for Windows 10, what are the plans
for wintun? Do you stick with the old version?
(15:44:14) lev___: so far, yes
(15:44:22) cron2_: oh, I overlooked plaisthos' ACK ("we never have *two* ACKs
for a patch...") so only recorded ordex'. Sorry.
(15:44:31) ordex: ah!
(15:44:34) ordex: <o/
(15:46:18) lev___: win10 market share among windows was 78% in june
(15:46:47) lev___: and with coming win11 windows7/8 share should drop
(15:47:53) cron2_: orr... parallels wants 50 EUR for the update to the next
version...
(15:48:10) cron2_: can't wait for vmware on M1 and kick parallels again
(15:48:46) lev___: for ovpn-dco I plan to look into doing crypto directly on
network buffers without copying, which should make it even faster
(15:50:03) lev___: is it already pretty fast, so as soon as plaisthos sends his
dco-win patches I'm going to review/test those
(15:52:37) MaxF: interesting. So OpenVPN passes the AES key to the driver, and
then the driver does the symmetric crypto?
(15:52:41) cron2_: yes
(15:52:54) cron2_: same for dco-linux
(15:53:01) cron2_: which we want to see patches for :)
(15:53:13) ordex: it's the next train on the horizon
(15:53:22) ordex: once we get rid of compat-mode and crresponse
(15:55:00) plaisthos: MaxF: Jason already announced wireguard will eventually
no longer use wintun
(15:55:45) cron2_: huh, what will wireguard use instead?
(15:56:12) plaisthos: so I think for now both users of wintun (that *I* am
aware of) still support the non DCO variant and sometime in the feature,
openvpn will concentrate ovpn-dco-win and wireguard on its WireguardNT
(15:56:14) lev___: wireguard-nt
(15:56:31) plaisthos: cron2_: WireguardNT, also an in kernel driver that
handles all the data in kernel
(15:56:46) zx2c4: Wintun will continue to be maintained
(15:56:48) plaisthos: might also do the control channel or not, haven't look
deeply at it
(15:56:52) cron2_: ic
(15:57:04) zx2c4: A lot of people would really appreciate if openvpn
incorporated the latest
(15:57:12) zx2c4: I get emails about that regularly
(15:57:28) cron2_: why do they mail you, not us, for openvpn feature requests?
(15:57:50) rob0: "I switched to wg because openvpn ..."
(15:58:16) cron2_: yeah, but *that* is usually not due to "old wintun" but to
openvpn being old and bloated and all that
(15:58:31) zx2c4: cron2_: because your misuse of wintun causes issues that then
come to me
(15:58:46) lev___: it is much more than updating version number, we would have
to change the way we talk to the driver, update installer etc
(15:59:07) zx2c4: Either strip it out or do it properly, id say
(15:59:13) zx2c4: Its not hard to do it properly
(15:59:28) zx2c4: Wintun.h is easy to intrgrate
(15:59:59) zx2c4: Integrate (sorry, typing in my phone)
(16:00:30) MaxF: what kind of issues are happening with wintun in openvpn?
(16:01:49) plaisthos: cron2_:
(16:01:49) plaisthos: NAK to the proposed approach, because that would give us
incompatible
(16:01:49) plaisthos: (and unfixable-incompatible) versions in between.
(16:02:12) cron2_: plaisthos: to what ordex proposed ("change all the defaults
first, and then bring in --compat-mode")
(16:02:17) plaisthos: yeah
(16:02:19) cron2_: yeah, maybe not "unfixable"
(16:02:20) plaisthos: I know
(16:02:32) plaisthos: compat-mode is only about easier fix
(16:02:34) ordex: I replied already
(16:02:48) plaisthos: so you could do compat-mode 2.3.0 or tls-version-min 1.0
(16:02:55) plaisthos: I am trying to understand the problem
(16:03:14) ordex: plaisthos: the problem cron2_ raised is about changing the
default in patch 1 and then adding compat-mode in patch2
(16:03:26) plaisthos: cron2_: or do you want to have setenv opt compat-mode 2.4
in your config and forget aboutr it
(16:03:31) ordex: between patch1 and patch2 there would be incompatibility
(16:03:51) mattock: btw. 3 hours over the one hour mark
(16:04:00) mattock: sorry
(16:04:02) cron2_: 3 hours! damn!
(16:04:03) mattock: 3 minutes :)
(16:04:13) mattock: only one time unit can be in my head once
(16:04:20) MaxF: time flies
(16:04:47) ordex: lol
(16:04:57) ordex: the compat-mode discussion can continue on the ml or on
openvpn-devel
(16:05:05) ***rob0 grabs the time flyswatter
(16:05:08) cron2_: maybe we need to find a google docs and write a good commit
message together
(16:05:09) ***lev___ is aggressively waiting for comments on
https://github.com/OpenVPN/openvpn-gui/pull/436
(16:05:31) ***lev___ looks at cron2_
(16:05:31) rob0: (a rolled up Time Magaine)
(16:05:36) ordex: cron2_: +1 we can use etherpad
(16:06:03) plaisthos: I am not sure I mentioned it here
(16:06:06) mattock: anything else we should cover in this meeting?
(16:06:14) mattock: or just continue on #openvpn-devel?
(16:06:29) ordex: not from me
(16:06:33) cron2_: lev___: I said I'm not very much interested in that way of
doing things - I won't NAK it, but I am not eager to spend time reviewing it,
when ordex is waiting with other stuff
(16:06:35) plaisthos: but I am adding an
openvpn://profile-file/https://url/to/some/profile
(16:06:51) cron2_: plaisthos: what is that?
(16:07:13) plaisthos: basically "click on that in browser, client opens and
asks you if want to import that profile"
(16:07:33) ordex: plaisthos: adding where exactly?
(16:08:16) cron2_: plaisthos: I find this a more logical workflow, but
technically, not very nice either. What is wrong with "just download the thing
in the browser, with a mime-type that tells $OS 'this needs to go to the
openvpn client for importing'?
(16:08:23) cron2_: This works beautifully on iOS today
(16:08:44) cron2_: so, no need for any http download logic in the client
(16:11:12) cron2_: anyway
(16:11:23) cron2_: I have another meeting rsn and need to prepare... so off for
the moment
(16:11:55) mattock: I need to split as well
(16:11:59) mattock: let's conclude this thing
(16:12:04) mattock: I'll write the summary next
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel