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

FreeBSD: Add suffix numbering for OpenSSL3 #96961

Merged
merged 4 commits into from
Mar 8, 2024

Conversation

Thefrank
Copy link
Contributor

Allows opensslshim.c to find OpenSSL3 on FreeBSD 14

@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Jan 14, 2024
@ghost
Copy link

ghost commented Jan 14, 2024

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

Issue Details

Allows opensslshim.c to find OpenSSL3 on FreeBSD 14

Author: Thefrank
Assignees: -
Labels:

area-System.Security, community-contribution

Milestone: -

@Thefrank
Copy link
Contributor Author

Failure seems to be related to referenced issue

@tmds
Copy link
Member

tmds commented Jan 29, 2024

@Thefrank since you're changing the openssl shim, I suppose this means you use the portable configuration when building for FreeBSD?

I'm not familiar with the binary compatibility of FreeBSD.
Are the resulting binaries portable?
That is: will a self-contained application published on a recent version of FreeBSD also work on an older version of FreeBSD?

@Thefrank
Copy link
Contributor Author

@tmds

Briefly: Binaries are likely to be portable within a very small range of FreeBSD versions as long as there are no ABI changes between them.

Verbosely:
The portable configuration can produce binaries that will work on "similar" FreeBSD versions.
A binary that is built under 13.2 that needs OpenSSL will work on 14.0 (provided the changes from this PR or via env override). The reverse is less likely but not impossible due to FreeBSD's use of symbol versioning.

The general advice for FreeBSD compatibility that I have been given and give to others:
The ABI in the STABLE branches will not change but the ABI in in RELENG and CURRENT will.
STABLE/13 will have the same ABI while in support but RELENG/13.1 to RELENG/13.2 has a large enough change to require most packages to be rebuilt. Most consumers use RELENG as that is where FreeBSD releases and packages are made

@tmds
Copy link
Member

tmds commented Jan 30, 2024

@Thefrank it sounds like the portable builds may not be very portable.

Anyway, since there is no actual portable artifacts, doing a portable build gives you the advantage of a better UX for the end-users because the the SDK defaults to use portable rids.

Thanks for the info, before our discussion I was assuming all distro maintainers did non-portable builds.

@jeffhandley
Copy link
Member

@bartonjs @Thefrank It looks like this is ready to merge, but I wanted to confirm with you folks.

@bartonjs bartonjs merged commit 309009e into dotnet:main Mar 8, 2024
123 of 125 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Apr 9, 2024
@Thefrank Thefrank deleted the freebsd-openssl3 branch November 29, 2024 22:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Security community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants