diff options
author | Patrick Steinhardt <ps@pks.im> | 2020-02-25 22:49:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-25 22:49:16 +0100 |
commit | a48da8fab662aaa77340a3e969ac0deec9d51731 (patch) | |
tree | 431b748a35fac643d9da7b613c0bea6237b8cae5 | |
parent | 45ed17bdf49842fa5844f3db818e50fa45483dc2 (diff) | |
parent | ebade23333d1f5c460aeb7f02473c96c95568a91 (diff) | |
download | libgit2-a48da8fab662aaa77340a3e969ac0deec9d51731.tar.gz |
Merge pull request #5417 from pks-t/pks/ntlmclient-htonll
deps: ntlmclient: fix missing htonll symbols on FreeBSD and SunOS
-rw-r--r-- | deps/ntlmclient/compat.h | 22 | ||||
-rw-r--r-- | src/transports/auth_ntlm.c | 4 |
2 files changed, 24 insertions, 2 deletions
diff --git a/deps/ntlmclient/compat.h b/deps/ntlmclient/compat.h index efdf34514..43bc86564 100644 --- a/deps/ntlmclient/compat.h +++ b/deps/ntlmclient/compat.h @@ -22,8 +22,30 @@ #endif #ifdef __linux__ +/* See man page endian(3) */ # include <endian.h> # define htonll htobe64 +#elif defined(__OpenBSD__) +/* See man page htobe64(3) */ +# include <endian.h> +# define htonll htobe64 +#elif defined(__FreeBSD__) +/* See man page bwaps64(9) */ +# include <sys/endian.h> +# define htonll bswap64 +#elif defined(sun) || defined(__sun) +/* See man page byteorder(3SOCKET) */ +# include <sys/types.h> +# include <netinet/in.h> +# include <inttypes.h> + +# if !defined(htonll) +# if defined(_BIG_ENDIAN) +# define htonll(x) (x) +# else +# define htonll(x) ((((uint64_t)htonl(x)) << 32) + htonl((uint64_t)(x) >> 32)) +# endif +# endif #endif #ifndef MIN diff --git a/src/transports/auth_ntlm.c b/src/transports/auth_ntlm.c index 02a861f07..d134a3db6 100644 --- a/src/transports/auth_ntlm.c +++ b/src/transports/auth_ntlm.c @@ -50,10 +50,10 @@ static int ntlm_set_credentials(http_auth_ntlm_context *ctx, git_credential *_cr cred = (git_credential_userpass_plaintext *)_cred; if ((sep = strchr(cred->username, '\\')) != NULL) { - domain = strndup(cred->username, (sep - cred->username)); + domain = git__strndup(cred->username, (sep - cred->username)); GIT_ERROR_CHECK_ALLOC(domain); - domainuser = strdup(sep + 1); + domainuser = git__strdup(sep + 1); GIT_ERROR_CHECK_ALLOC(domainuser); username = domainuser; |