Files
Jimmy Fjällid 0c97d2f64a krb5ssp,ldap: migrate to gokrb5/v9 and adapt to decoupled ldap/v3
go-smb and github.com/jfjallid/ldap/v3 were mutually dependent modules:
go-smb/ldap wraps ldap/v3, while ldap/v3 reached back into go-smb/{gss,
krb5ssp,ntlmssp}. Because krb5ssp.KRB5Token carries gokrb5 types across that
boundary, the two were also pinned to the same gokrb5 major version. ldap/v3
v3.101.0 severs that cycle (it no longer imports go-smb); this is the go-smb
side of the change.

krb5ssp:
- Migrate from gokrb5/v8 to gokrb5/v9 (krb5ssp.go, wrapToken.go, the
  ccache_{linux,darwin,windows}.go ccache loaders and tests). No behaviour
  change; the v9 API is source-compatible for the surface we use.

ldap:
- ldap/v3 now inverts its NTLM dependency instead of importing go-smb/ntlmssp.
  Add ldap/ntlm.go: an ntlmssp.Client-backed adapter implementing ldap's
  NTLMNegotiator plus the optional NTLMChannelBinder and NTLMSessionProvider
  capabilities, registered as ldap.NTLMNegotiatorFactory in init(). Importing
  go-smb/ldap therefore restores out-of-the-box NTLM binds; the wrapper's
  credential-based NTLMChallengeBind path is unchanged and now resolves the
  negotiator through this factory.

go.mod:
- gokrb5/v8 -> gokrb5/v9 v9.0.0; ldap/v3 v3.100.0 -> v3.101.0. gokrb5 is now an
  ordinary shared dependency resolved by MVS.
2026-06-06 16:10:06 +02:00
..