Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please upgrade to OpenSSL to 1.1.0 #1691

Closed
1 task done
skid9000 opened this issue May 26, 2018 · 9 comments
Closed
1 task done

Please upgrade to OpenSSL to 1.1.0 #1691

skid9000 opened this issue May 26, 2018 · 9 comments

Comments

@skid9000
Copy link

skid9000 commented May 26, 2018

  • I was not able to find an open or closed issue matching what I'm seeing

Setup

  • Which version of Git for Windows are you using? Is it 32-bit or 64-bit?
$ git --version --build-options

git version 2.16.2.windows.1
cpu: x86_64
built from commit: e1848984d1004040ec5199e749b5f282ddf4bb09
sizeof-long: 4
  • Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?
$ cmd.exe /c ver

Microsoft Windows [version 6.3.9600]
  • What options did you set as part of the installation? Or did you choose the
    defaults?
# One of the following:

$ cat /etc/install-options.txt

Editor Option: VisualStudioCode
Path Option: BashOnly
SSH Option: OpenSSH
CURL Option: OpenSSL
CRLF Option: CRLFAlways
Bash Terminal Option: MinTTY
Performance Tweaks FSCache: Enabled
Use Credential Manager: Enabled
Enable Symlinks: Disabled
  • Any other interesting things about your environment that might be related
    to the issue you're seeing?

No

Details

  • Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

Bash

openssl version
  • What did you expect to occur after running these commands?

OpenSSL 1.1.0h 7 Mar 2018

  • What actually happened instead?

OpenSSL 1.0.2n 7 Dec 2017

@shiftkey
Copy link

@skid9000 please upgrade to Git 2.17.0:

$ openssl version
OpenSSL 1.0.2o  27 Mar 2018

@dscho
Copy link
Member

dscho commented May 28, 2018

@skid9000 okay, you asked for it (by suggesting a feature to an Open Source project that is welcoming contributions):

As OpenSSL 1.1.x is not intended to be API compatible with OpenSSL 1.0.x, I think this would either require the .dll files of OpenSSL 1.1.x to encode the version in their name, or it would require a rebuild of all dependencees of OpenSSL.

To find out what needs to be rebuilt, install Git for Windows' SDK and call this command:

pactree -r mingw-w64-x86_64-openssl

These will have to be remade, and the safest way to do so is to provide a Pull Request for https://github.com/Alexpux/MINGW-packages that updates OpenSSL (i.e. mingw-w64-git/PKGBUILD and possibly some of the files in the same directory) and all of its dependencees.

@rimrul
Copy link
Member

rimrul commented May 30, 2018

It seems Open SSH is currently not compatible with OpenSSL 1.1.x. This would be a big problem, wouldn't it? There are apparently patches from debian and fedora that we could potentialy borrow, though.

@skid9000
Copy link
Author

Oh i didn't knew that U_u
I thought it was using the openssl on the system.

The problem that i have actually is that i force the CHACHA20 cipher for the openssh server, so openssl 1.0.x should not work ('cause not implemented).

But know i'm perplex, on my debian, it is openssh 7.4p1 compiled with openssl 1.0.2l O.o
And it can connect to the CHACHA20 only server ....

SO i retested on git bash (OpenSSH 7.6p1 with openssl 1.0.2n ...
and it didn't worked U_u

$ ssh root@xxx -p xxxxx
Unable to negotiate with xxx.xxx.xxx.xxx port xxxxx: no matching cipher found. Their offer: [email protected]

@rimrul
Copy link
Member

rimrul commented May 30, 2018

  1. Prerequisites
    [...]
    libcrypto (LibreSSL or OpenSSL >= 1.0.1 < 1.1.0)
    LibreSSL http://www.libressl.org/ ; or
    OpenSSL http://www.openssl.org/
    [...]
    Note that because of API changes,
    OpenSSL 1.1.x is not currently supported.

However, there is some kind of patch by the debian package maintainers, AFAIK. I just can't find it currently.

[1] https://github.com/openssh/openssh-portable/blob/master/INSTALL
[2] openssh/openssh-portable#48

@magneticflux-
Copy link

@dscho @rimrul It looks like OpenSSH supports versions of OpenSSL >= 1.1.0g now, as of 17 days ago: here

They included the OpenSSL compat layer 26 days ago: openssh/openssh-portable@31b4952.

It also looks like upstream (Alexpux/MINGW-packages) has already updated OpenSSL to 1.1.1: here. It looks like they already rebuilt dependents in this commit: Alexpux/MINGW-packages@391ba31

Does this make it easier to upgrade? I currently need to use PostgreSQL and Git, which require 1.1 and 1.0 of OpenSSL respectively, so they're incompatible.

@dscho
Copy link
Member

dscho commented Nov 14, 2018

Does this make it easier to upgrade?

Nothing makes this easier to upgrade. This is a friggin' nightmare, and nobody helps.

@PhilipOakley
Copy link

@Magneticflux, To paraphrase Dscho, a fully tested PR would be of more assistance. One that covers all the points made above. If it's important, then hopefully you can get a bit of time allocated to having a look.

PR welcome.

@magneticflux-
Copy link

magneticflux- commented Nov 14, 2018

@dscho It seems like your idea to "just keep the fork of Git for Windows running indefinitely" from here msys2/MSYS2-packages#786 (comment) may not be the most efficient course of action. I don't think it's sustainable in the long-run to keep rebasing this fork-of-patches. In fact, I believe the original repository-of-patches that is MSYS2-packages and MINGW-packages should also focus on contributing platform-agnostic fixes (using these platform checks) to its numerous "upstreams" rather than keeping an ever-growing backlog of patches like you referred to here msys2/MSYS2-packages#786 (comment).

In short, I think that it's vital for the future of MSYS2 to have a working Git client, and vital for the future of Git-for-Windows to have a working (and up-to-date) GNU- and POSIX-friendly environment for outside of Git. These are just my opinions, so take with a grain of salt.

dscho referenced this issue in git-for-windows/MSYS2-packages Nov 23, 2018
Only the ca-dir patch applied cleanly. The MSYS2 one had to be re-done.
The others seem not to be necessary.

To indicate that this package has not yet been released (and to let
`please.sh upgrade openssl` commit a change to `PKGBUILD`), let's force
the pkgrel to 0 for starters.

Signed-off-by: Johannes Schindelin <[email protected]>
@dscho dscho self-assigned this Nov 23, 2018
@dscho dscho added this to the v2.19.2(2) milestone Nov 23, 2018
@dscho dscho closed this as completed Nov 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants