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

WIP: openssl: add ubuntu version symbols to openssl-steam #20721

Closed
wants to merge 1 commit into from

Conversation

corngood
Copy link
Contributor

@corngood corngood commented Nov 25, 2016

Motivation for this change

This adds STEAM_1.0.0 etc symbols via the version-script.patch from ubuntu to the steam-specific build of openssl.

@FRidh could you see if this fixes the game you were having trouble with, and reference the issue once you've created it?

Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@corngood, thanks for your PR! By analyzing the history of the files in this pull request, we identified @edolstra, @dezgeg and @globin to be potential reviewers.

@edolstra
Copy link
Member

  • This is a huge patch. Could it be fetched using fetchurl instead of keeping it in tree?

  • How is this patch going to be maintained? We frequently need to do urgent OpenSSL upgrades so we don't want to have figure out how to update this patch first.

  • Maybe this patch can be applied to the OpenSSL used by Steam only? It does not seem relevant anywhere else.

@corngood
Copy link
Contributor Author

This is a huge patch. Could it be fetched using fetchurl instead of keeping it in tree?

I pulled it out of the ubuntu src tarball. I could probably find a way to automate that, but I'm not sure how reliable it would be (are there suitable permalinks?). It's 100kb and 4k lines, and 25kb gzipped. It's basically just a list of all public symbols grouped by the version where they were introduced.

I'll do a bit of investigating to see if it's machine-generated and who/what maintains it.

How is this patch going to be maintained? We frequently need to do urgent OpenSSL upgrades so we don't want to have figure out how to update this patch first.

It shouldn't require any maintenance (for this purpose) unless you are trying to roll-back to pre-1.0.2, or if the steam runtime moves to a newer version, and even then it could only break things in steam-land that need the new symbols.

Maybe this patch can be applied to the OpenSSL used by Steam only? It does not seem relevant anywhere else.

That's what's happening with this patch. It should have zero impact outside of the steam chroot environment.

@corngood
Copy link
Contributor Author

This is WIP because @FRidh reported a crash in a commercial game (Wargame: European Escalation) which I don't have access to. So I'm just waiting for someone to confirm the fix.

@FRidh
Copy link
Member

FRidh commented Nov 26, 2016

The PR causing trouble: #20269
Issue: #20726

@FRidh
Copy link
Member

FRidh commented Nov 26, 2016

@corngood this does not fix the issue.

@corngood
Copy link
Contributor Author

So no difference?

If you do:

nix-build -A steamPackages.steam-runtime
nm -D result/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 | grep OPENSSL_1

Do you see the version symbols? I see:

0000000000000000 A OPENSSL_1.0.0
0000000000000000 A OPENSSL_1.0.1

Do you know if the game is 32-bit?

@FRidh
Copy link
Member

FRidh commented Nov 30, 2016

My machine just broke down so it might take a bit longer before I can test again and answer your questions.

@corngood
Copy link
Contributor Author

Removing WIP. I haven't had any problems with it, and I don't see what harm it could cause.

@corngood corngood changed the title WIP: openssl: add ubuntu version symbols to openssl-steam openssl: add ubuntu version symbols to openssl-steam Feb 7, 2017
@corngood corngood changed the title openssl: add ubuntu version symbols to openssl-steam WIP: openssl: add ubuntu version symbols to openssl-steam Feb 16, 2017
@corngood corngood changed the title WIP: openssl: add ubuntu version symbols to openssl-steam openssl: add ubuntu version symbols to openssl-steam Feb 16, 2017
@corngood corngood changed the title openssl: add ubuntu version symbols to openssl-steam WIP: openssl: add ubuntu version symbols to openssl-steam Feb 16, 2017
@FRidh
Copy link
Member

FRidh commented Feb 18, 2017

So no difference?

Indeed, there was no difference.

nix-build -A steamPackages.steam-runtime
nm -D result/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 | grep OPENSSL_1

results in the same symbols you showed.

Do you know if the game is 32-bit?

Wargame: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=595f2525c683f3cd4d7f2a5b3336a4ba62121f3c, stripped

Note that other 32-bit games work fine.

@corngood
Copy link
Contributor Author

Maybe it's the same problem we were discussing in #20726 (comment) ?

Have you tried removing "no-engine" from the steam openssl?

@FRidh
Copy link
Member

FRidh commented Feb 19, 2017

I replied at #20726 (comment)

@corngood
Copy link
Contributor Author

I'm going to close this since it doesn't appear to be the solution to anything. We can discuss other options on the issue.

@corngood corngood closed this Feb 19, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants