From c881632306294469a4e83b7e447e6b17913da1ce Mon Sep 17 00:00:00 2001 From: Johannes Wilde Date: Sat, 24 May 2025 13:31:56 +0200 Subject: [PATCH 1/2] Avoid duplicate definition of git_http_auth_dummy. src\libgit2\transports\auth_negotiate.h redefines git_http_auth_negotiate as git_http_auth_dummy if GIT_AUTH_NEGOTIATE is not defined, which thus leads to the uncommented code actually being a redifintion of git_http_auth_dummy. The linker complained [Windows 11, MSVC 2022 64bit]. --- src/libgit2/transports/auth_sspi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libgit2/transports/auth_sspi.c b/src/libgit2/transports/auth_sspi.c index f8269365d7f..fcd2dde3e29 100644 --- a/src/libgit2/transports/auth_sspi.c +++ b/src/libgit2/transports/auth_sspi.c @@ -324,12 +324,14 @@ static int sspi_init_context( return 0; } +#ifdef GIT_AUTH_NEGOTIATE int git_http_auth_negotiate( git_http_auth_context **out, const git_net_url *url) { return sspi_init_context(out, GIT_HTTP_AUTH_NEGOTIATE, url); } +#endif int git_http_auth_ntlm( git_http_auth_context **out, From dd65bfe1817ab087a183187a172c8c12fbb12267 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Thu, 5 Jun 2025 13:20:29 +0100 Subject: [PATCH 2/2] Avoid duplicate definition of git_http_auth_dummy Avoid defining `git_http_auth_ntlm` when not using ntlm; this will be set to a dummy function instead. --- src/libgit2/transports/auth_sspi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libgit2/transports/auth_sspi.c b/src/libgit2/transports/auth_sspi.c index fcd2dde3e29..ae8343e21d7 100644 --- a/src/libgit2/transports/auth_sspi.c +++ b/src/libgit2/transports/auth_sspi.c @@ -333,11 +333,13 @@ int git_http_auth_negotiate( } #endif +#ifdef GIT_AUTH_NTLM int git_http_auth_ntlm( git_http_auth_context **out, const git_net_url *url) { return sspi_init_context(out, GIT_HTTP_AUTH_NTLM, url); } +#endif #endif /* GIT_WIN32 */