Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-23 Thread Lev Stipakov
Sure, (mingw got angry on V1 because I missed 'static' on function declaration, so we have V2) arm64: https://github.com/lstipakov/openvpn/suites/4442265006/artifacts/117764629 x64: https://github.com/lstipakov/openvpn/suites/4442265006/artifacts/117764631

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-23 Thread Gert Doering
Hi, On Tue, Nov 23, 2021 at 04:30:57PM +0200, Lev Stipakov wrote: > See https://patchwork.openvpn.net/patch/2083/ > > I only tested with procmon that openvpn.exe tries to load openssl.cnf > from a trusted location. Thanks. For a non-windows person this looks good, but I leave the final word on

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-23 Thread Lev Stipakov
Hi, > > On startup we could read the installation path from > > HKLM\SOFTWARE\OpenVPN and assume > > something like \ssl\openssl.cnf ? > > To me, this feels like the least annoying way forward... and then we can > also stop worrying about any future changes on the vcpkg side (even if > they

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-23 Thread Gert Doering
Hi, On Tue, Nov 23, 2021 at 01:39:16PM +0200, Lev Stipakov wrote: > > Can our installer use "custom locations", like "install all our software > > to "d:\mystuff\openvpn\"? > Yes. OK. > > In that case, built-in paths won't work well (as was pointed out in the PR, > > to my dismay). > > We

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-23 Thread Lev Stipakov
> Can our installer use "custom locations", like "install all our software > to "d:\mystuff\openvpn\"? Yes. > In that case, built-in paths won't work well (as was pointed out in the PR, > to my dismay). We could use something like C:\Windows\System32\SSL ? One could install Windows to a

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-23 Thread Gert Doering
Hi, On Tue, Nov 23, 2021 at 12:19:07PM +0200, Lev Stipakov wrote: > How should we proceed? Do we define safe conf/engines/modules locations and > > 1) build them into openssl with our own port, and Can our installer use "custom locations", like "install all our software to

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-23 Thread Lev Stipakov
Hi, > I have no opinion on _putenv() vs. SetEnvironmentVariableW() - this is > Windows API stuff, so whatever MS thinks we should be using... SetEnvironmentVariableW() doesn't work for me with MSVC. Similar thing with curl - openssl uses getenv, which doesn't find variables added after the

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-22 Thread Gert Doering
Hi, On Mon, Nov 22, 2021 at 04:55:40PM -0500, Selva Nair wrote: > > (Also, the PR isn't exactly proceeding smoothly... no idea why the > > vcpkg maintainer does not want to see why Lev's PR is an improvement > > of the situation) > > I didn't realize there is a pushback for the patch..May be he

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-22 Thread Selva Nair
On Mon, Nov 22, 2021 at 4:37 PM Gert Doering wrote: > Hi, > > On Mon, Nov 22, 2021 at 04:33:36PM -0500, Selva Nair wrote: > > I think setting env vars would give us extra protection as we can detect > > the actual location of Program Files or executable's path at run time. > > Indeed. > > (Also,

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-22 Thread Gert Doering
Hi, On Mon, Nov 22, 2021 at 04:33:36PM -0500, Selva Nair wrote: > I think setting env vars would give us extra protection as we can detect > the actual location of Program Files or executable's path at run time. Indeed. (Also, the PR isn't exactly proceeding smoothly... no idea why the vcpkg

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-22 Thread Selva Nair
Hi, On Mon, Nov 22, 2021 at 3:27 PM Lev Stipakov wrote: > Hi, > > I added > > _putenv("OPENSSL_CONF=c:\\Temp\\lol.conf"); > > to openvpn_main() and see > > 22:01:38,9512311 openvpn.exe 27668 CreateFile C:\Temp\lol.conf > NAME NOT FOUND > > in procmon. So would it be enough to set

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-22 Thread Lev Stipakov
Hi, I added _putenv("OPENSSL_CONF=c:\\Temp\\lol.conf"); to openvpn_main() and see 22:01:38,9512311 openvpn.exe 27668 CreateFile C:\Temp\lol.conf NAME NOT FOUND in procmon. So would it be enough to set config/engines/modules paths as env variables for openvpn and gui? OTOH we also ship

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-22 Thread Selva Nair
Hi, On Mon, Nov 22, 2021 at 12:20 PM Lev Stipakov wrote: > I added a commit to vcpkg/openssl PR > (https://github.com/microsoft/vcpkg/pull/21540) which gives an option > to customize ENGINESDIR. Unfortunately openssl doesn't make it easy - > ENGINESDIR is built based on --prefix, which is set

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-22 Thread Lev Stipakov
I added a commit to vcpkg/openssl PR (https://github.com/microsoft/vcpkg/pull/21540) which gives an option to customize ENGINESDIR. Unfortunately openssl doesn't make it easy - ENGINESDIR is built based on --prefix, which is set to vcpkg build dir. The prefix cannot be set to something like

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread Selva Nair
Hi, On Fri, Nov 19, 2021 at 3:04 PM wrote: > Ok, my idea was to fix only config loading dir. Apparently this is not > enough, so I’ll look into ENGINESDIR too. What we need is a proper build that can be safely distributed. Whatever that takes. My understanding is that if we have to get with

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread Gert Doering
Hi, On Fri, Nov 19, 2021 at 10:04:50PM +0200, lstipa...@gmail.com wrote: > Ok, my idea was to fix only config loading dir. Apparently this is not > enough, so I???ll look into ENGINESDIR too. Well, it's "enough to fix the problem we have today", but if we can fix the problems we might have

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread lstipakov
Ok, my idea was to fix only config loading dir. Apparently this is not enough, so I’ll look into ENGINESDIR too. Lähetetty iPhonesta > Gert Doering kirjoitti 19.11.2021 kello 21.18: > > Hi, > >> On Fri, Nov 19, 2021 at 06:15:50PM +0200, Lev Stipakov wrote: >> OPENSSLDIR: "C:\Program

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread Gert Doering
Hi, On Fri, Nov 19, 2021 at 06:15:50PM +0200, Lev Stipakov wrote: > OPENSSLDIR: "C:\Program Files\OpenVPN\ssl" > ENGINESDIR: > "C:\Users\lev\Projects\vcpkg\packages\openssl_x64-windows-ovpn\lib\engines-1_1" > Seeding source: os-specific > > ENGINESDIR looks good, no? Is it something we use?

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread Selva Nair
Hi On Fri, Nov 19, 2021 at 11:16 AM Lev Stipakov wrote: > Hi, > > Here is what output of openssl.exe built with abovementioned patch on > my machine: > > > c:\Users\lev\Projects\vcpkg\packages\openssl_x64-windows-ovpn\tools\openssl>openssl.exe > version -a > OpenSSL 1.1.1l 24 Aug 2021 > built

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread Lev Stipakov
Hi, Here is what output of openssl.exe built with abovementioned patch on my machine: c:\Users\lev\Projects\vcpkg\packages\openssl_x64-windows-ovpn\tools\openssl>openssl.exe version -a OpenSSL 1.1.1l 24 Aug 2021 built on: Fri Nov 19 09:43:38 2021 UTC platform: VC-WIN64A options: bn(64,64)

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread Selva Nair
Hi, On Fri, Nov 19, 2021 at 6:43 AM Lev Stipakov wrote: > Hi, > > I've submitted PR to vcpkg's openssl port: > https://github.com/microsoft/vcpkg/pull/21540 > > With that PR merged, we could specify proper location of config like > this (extracted from custom triplet): > >

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-19 Thread Lev Stipakov
Hi, I've submitted PR to vcpkg's openssl port: https://github.com/microsoft/vcpkg/pull/21540 With that PR merged, we could specify proper location of config like this (extracted from custom triplet): set(OPENSSL_OPENSSLDIR "c:\\Program Files\\OpenVPN\\ssl") set(OPENSSL_NO_INSTALL_SSLDIRS

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-10 Thread Selva Nair
Hi, On Sun, Nov 7, 2021 at 9:14 AM Lev Stipakov wrote: > Hi, > > We agreed during the hackathon that we are going to ship a 2.6 Windows > client with OpenSSL 3.0. Apart from merging relevant patches, there > are few (small) blocks: > > - vcpkg hasn't yet added OpenSSL 3.0 to official repo, but

Re: [Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-11-07 Thread Lev Stipakov
Hi, We agreed during the hackathon that we are going to ship a 2.6 Windows client with OpenSSL 3.0. Apart from merging relevant patches, there are few (small) blocks: - vcpkg hasn't yet added OpenSSL 3.0 to official repo, but there is a PR https://github.com/microsoft/vcpkg/pull/20428 This

[Openvpn-devel] OpenSSL build on Windows: OPENSSLDIR and MODULESDIR

2021-10-27 Thread Selva Nair
Hi, By commit abd5ee9b7dc4ba85438da5d16bb7dfb31714dac7 we disabled loading of OpenSSL configuration file on Windows due to OPENSSLDIR pointing to a writable location in our builds. I think we have to fix this. Considering that we distribute Windows executable with our own OpenSSL build, this is