mirror of
https://github.com/moparisthebest/curl
synced 2024-11-15 05:55:04 -05:00
b5c3feda17
A shared library tests/libtest/.libs/lihostname.so is preloaded in NTLM test-cases to override the system implementation of gethostname(). It makes it possible to test the NTLM authentication for exact match, and this way test the implementation of MD4 and DES. If LD_PRELOAD doesn't work, a debug build willl also workk as debug builds are now made to prefer a specific environment variable and will then return that content as host name instead of the actual one. Kamil wrote the bulk of this, Daniel Stenberg polished it.
33 lines
845 B
C
33 lines
845 B
C
/*****************************************************************************
|
|
* _ _ ____ _
|
|
* Project ___| | | | _ \| |
|
|
* / __| | | | |_) | |
|
|
* | (__| |_| | _ <| |___
|
|
* \___|\___/|_| \_\_____|
|
|
*
|
|
*/
|
|
|
|
#include <string.h>
|
|
#include <unistd.h>
|
|
|
|
#define HOSTNAME "curlhost"
|
|
#define HOSTNAME_LEN sizeof(HOSTNAME)
|
|
|
|
/*
|
|
* we force our own host name, in order to make some tests machine independent
|
|
*/
|
|
int gethostname(char *name, size_t namelen) {
|
|
char buff[HOSTNAME_LEN + /* terminating zero */ 1];
|
|
size_t max = (namelen < HOSTNAME_LEN)
|
|
? namelen
|
|
: HOSTNAME_LEN;
|
|
|
|
if(!name || !namelen)
|
|
return -1;
|
|
|
|
strcpy(buff, HOSTNAME);
|
|
buff[max - 1] = '\0';
|
|
strcpy(name, buff);
|
|
return 0;
|
|
};
|