Skip to content

feat: Add GSSAPI/Kerberos (SPNEGO) support to libcurl build#19

Merged
bararchy merged 1 commit into
developfrom
feat/gssapi-support
Jun 25, 2026
Merged

feat: Add GSSAPI/Kerberos (SPNEGO) support to libcurl build#19
bararchy merged 1 commit into
developfrom
feat/gssapi-support

Conversation

@bararchy

Copy link
Copy Markdown
Member

Summary

Enable Kerberos/SPNEGO authentication (Negotiate) on Linux by adding the gssapi vcpkg feature to the curl build.

Related: NeuraLegion/bright-cli#751 (adds --kerberos CLI flag to bright-cli repeater)

Changes

vcpkg.template.json

Added "gssapi" to curl features list. This tells vcpkg to build curl with --with-gssapi, enabling CURLAUTH_NEGOTIATE on Linux/macOS.

.github/actions/install-system-packages/action.yaml

Added system Kerberos development libraries needed for vcpkg to link against:

  • Alpine: krb5-dev
  • Ubuntu: libkrb5-dev
  • macOS: Not needed (GSS.framework is built-in)

Effect

After this change + new prebuilt release, Curl.getVersion() will include GSS-API in the features list, and curl.setOpt("HTTPAUTH", CurlAuth.Negotiate) will work on Linux.

Verification

const { Curl } = require("@brightsec/node-libcurl");
console.log(Curl.getVersion());
// Before: libcurl/8.17.0 OpenSSL/3.5.6 zlib/1.3.1 brotli/1.2.0 ...
// After:  libcurl/8.17.0 OpenSSL/3.5.6 zlib/1.3.1 brotli/1.2.0 ... GSS-API ...

Add the 'gssapi' vcpkg feature on non-Windows platforms to enable
SPNEGO/Negotiate authentication. On Windows, SSPI (already included)
handles Negotiate, so gssapi is skipped there.

Changes:
- scripts/vcpkg-setup.js: conditionally inject 'gssapi' feature into
  vcpkg.json on Linux/macOS (vcpkg does not support curl[gssapi] on Windows)
- install-system-packages: add krb5-dev (Alpine) and libkrb5-dev (Ubuntu)
  so vcpkg can link curl against system GSSAPI libraries

Related: NeuraLegion/bright-cli#751

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bararchy bararchy merged commit b1721d1 into develop Jun 25, 2026
18 checks passed
@bararchy bararchy deleted the feat/gssapi-support branch June 25, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants