Skip to content

libgsasl: update and add variants - #33901

Open
McDaMastR wants to merge 6 commits into
macports:masterfrom
McDaMastR:libgsasl-update
Open

libgsasl: update and add variants#33901
McDaMastR wants to merge 6 commits into
macports:masterfrom
McDaMastR:libgsasl-update

Conversation

@McDaMastR

Copy link
Copy Markdown
Contributor

Description

Update libgsasl to version 2.2.4 and add some variants to control relevant build properties.

Note that I've squashed the changes for updating the version, but kept each added variant a separate commit due to (IMO) each being a logically independent change.

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 26.6 25G72 arm64
Command Line Tools 26.6.0.0.1781586589

Verification

Have you

  • followed our Commit Message Guidelines?
  • squashed and minimized your commits?
  • checked that there aren't other open pull requests for the same change?
  • referenced existing tickets on Trac with full URL in commit message?
  • checked your Portfile with port lint?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?
  • checked that the Portfile's most important variants haven't been broken?

@macportsbot

Copy link
Copy Markdown

Notifying maintainers:
@ryandesign for port libgsasl.

@reneeotten reneeotten left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @McDaMastR - we'll wait for @ryandesign his comments as well.

Comment thread security/libgsasl/Portfile Outdated
+starttls

# GSS framework was added in macOS 10.7
if {[package vcompare ${macos_version} 10.7] >= 0} {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the usual syntax is:
if {${os.platform} eq "darwin" && ${os.major} > 11} {
where the number is the Darwin version.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I wasn't aware of the mapping between macOS and Darwin versions.

Would that condition exclude PureDarwin? Since the gss_native variant this conditional enables is dependent on the macOS GSS Framework, I don't think it'll work on non-macOS Darwin systems.

Comment thread security/libgsasl/Portfile Outdated
From version 2.x onwards, the default distfile includes all parts of
GSASL rather than just the library.  So add configure args to also
control the building of these additional parts (gsasl binary, man
pages).

Closes: https://trac.macports.org/ticket/71521
GSASL supports multiple implementations of GSSAPI, including GSS (GNU),
MIT, and, since version 2.2.2, the macOS GSS framework.  The libgsasl
port does not make use of this new native macOS support.

Add two variants, gssapi_gss and gssapi_native, to build GSASL with the
GNU and macOS implementations, respectively, of GSSAPI.  Additionally,
change the default port behaviour to use the GSS framework if supported
by the OS, and otherwise use GNU GSS.
The non-standard NTLM mechanism is supported by GSASL but is generally
not recommended due to being less secure than standard SASL mechanisms.
It is also rarely (if ever) the only available authentication mechanism
for a client or server, meaning it should not be needed for any typical
authentication process.

Delegate NTLM support to the ntlm variant of libgsasl.  This allows
users who require NTLM to retain GSASL's support of it, while reducing
the attack surface for all other users by not installing an unnecessary
dependency of NTLM support.
GSASL comes with a gsasl executable to use the library to authenticate
connections.  This executable can optionally encrypt these connections
via STARTTLS if built with GnuTLS.  Not all users will require use of
the gsasl executable, but those who do will likely expect TLS support.

Add the starttls variant to toggle support for STARTTLS and enable it by
default.  This allows users who don't require the executable's STARTTLS
support to prevent installation of the GnuTLS dependency.
GSASL includes a build option to control whether the library will
support non-ASCII text (for usernames, passwords, etc.) via libidn.

Add the idn variant to toggle this non-ASCII support and enable it by
default.  This provides the reasonably expected i18n support by default,
while allowing users who know they don't need this to disable it.
Add the doc variant to build and install the HTML documentation of the
GSASL library.  This ensures only users who want the HTML documentation
have to install the gtk-doc dependency.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer: open Affects an openmaintainer port type: update

Development

Successfully merging this pull request may close these issues.

4 participants