aboutsummaryrefslogtreecommitdiff
path: root/lib/http_ntlm.c
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2011-07-31 20:44:41 +0200
committerYang Tse <yangsita@gmail.com>2011-07-31 20:44:41 +0200
commit10a0bed48536e5a3fe801a5e0d94bd84ad80c559 (patch)
tree931c4a697c2aaf437067ca38914c57c1aa5c32f0 /lib/http_ntlm.c
parentcc3e01cfae461c69c240f21a7b10fb31e1314fb7 (diff)
NTLM single-sign on adjustments (VIII)
Use preprocessor symbols WINBIND_NTLM_AUTH_ENABLED and WINBIND_NTLM_AUTH_FILE for Samba's winbind daemon ntlm_auth helper code implementation and filename. Retain preprocessor symbol USE_NTLM_SSO for NTLM single-sign-on feature availability implementation independent. For test harness, prefix NTLM_AUTH environment vars with CURL_ Refactor and rename configure option --with-ntlm-auth to --enable-wb-ntlm-auth[=FILE]
Diffstat (limited to 'lib/http_ntlm.c')
-rw-r--r--lib/http_ntlm.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/lib/http_ntlm.c b/lib/http_ntlm.c
index ba0a4d717..9beedfb04 100644
--- a/lib/http_ntlm.c
+++ b/lib/http_ntlm.c
@@ -33,14 +33,16 @@
#define DEBUG_ME 0
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
-
-#ifdef USE_NTLM_SSO
-#include <unistd.h>
-#include <sys/types.h>
+#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h>
+#endif
+#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif
@@ -677,7 +679,7 @@ static void unicodecpy(unsigned char *dest,
}
#endif
-#ifdef USE_NTLM_SSO
+#ifdef WINBIND_NTLM_AUTH_ENABLED
static void sso_ntlm_close(struct connectdata *conn)
{
if(conn->ntlm_auth_hlpr_socket != CURL_SOCKET_BAD) {
@@ -742,17 +744,17 @@ static CURLcode sso_ntlm_initiate(struct connectdata *conn,
username = username + (slash - domain) + 1;
}
- /* When DEBUGBUILD is defined and environment variable NTLM_AUTH is set
- * (in test case 2005), use a fake_ntlm to do NTLM challenge/response,
- * which only accept commands and output strings pre-written/saved in
- * test case 2005 */
+ /* For testing purposes, when DEBUGBUILD is defined and environment
+ variable CURL_NTLM_AUTH is set a fake_ntlm is used to perform
+ NTLM challenge/response which only accepts commands and output
+ strings pre-written in test case definitions */
#ifdef DEBUGBUILD
- ntlm_auth_alloc = curl_getenv("NTLM_AUTH");
+ ntlm_auth_alloc = curl_getenv("CURL_NTLM_AUTH");
if(ntlm_auth_alloc)
ntlm_auth = ntlm_auth_alloc;
else
#endif
- ntlm_auth = NTLM_AUTH;
+ ntlm_auth = WINBIND_NTLM_AUTH_FILE;
if(access(ntlm_auth, X_OK) != 0) {
error = ERRNO;
@@ -940,9 +942,9 @@ CURLcode Curl_output_ntlm_sso(struct connectdata *conn,
* http://devel.squid-cache.org/ntlm/squid_helper_protocol.html
* http://www.samba.org/samba/docs/man/manpages-3/winbindd.8.html
* http://www.samba.org/samba/docs/man/manpages-3/ntlm_auth.1.html
- * The preprocessor variable 'USE_NTLM_AUTH' indicates whether
- * this feature is enabled. Another one 'NTLM_AUTH' contains absolute
- * path of it.
+ * Preprocessor symbol 'WINBIND_NTLM_AUTH_ENABLED' is defined when
+ * this feature is enabled and 'WINBIND_NTLM_AUTH_FILE' symbol holds
+ * absolute filename of ntlm_auth helper.
* If NTLM single-sign-on fails, go back to original request
* handling process.
*/
@@ -996,7 +998,7 @@ CURLcode Curl_output_ntlm_sso(struct connectdata *conn,
return CURLE_OK;
}
-#endif /* USE_NTLM_SSO */
+#endif /* WINBIND_NTLM_AUTH_ENABLED */
/* this is for creating ntlm header output */
CURLcode Curl_output_ntlm(struct connectdata *conn,
@@ -1644,7 +1646,7 @@ Curl_ntlm_cleanup(struct connectdata *conn)
ntlm_sspi_cleanup(&conn->ntlm);
ntlm_sspi_cleanup(&conn->proxyntlm);
#else
-#ifdef USE_NTLM_SSO
+#ifdef WINBIND_NTLM_AUTH_ENABLED
sso_ntlm_close(conn);
#endif
(void)conn;