AC_MSG_RESULT(yes)
)
-CURL_CHECK_OPTION_WINBIND_NTLM_AUTH
+CURL_CHECK_OPTION_NTLM_WB
-CURL_CHECK_WINBIND_NTLM_AUTH
+CURL_CHECK_NTLM_WB
dnl ************************************************************
dnl disable TLS-SRP authentication
if test "x$USE_SSLEAY" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \
-o "x$GNUTLS_ENABLED" = "x1" -o "x$NSS_ENABLED" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM"
- if test "x$WINBIND_NTLM_AUTH_ENABLED" = "x1"; then
+ if test "x$NTLM_WB_ENABLED" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM_WB"
fi
fi
}
else
#endif
-#ifdef WINBIND_NTLM_AUTH_ENABLED
+#ifdef NTLM_WB_ENABLED
if(authstatus->picked == CURLAUTH_NTLM_WB) {
auth="NTLM_WB";
result = Curl_output_ntlm_wb(conn, proxy);
Curl_input_ntlm(conn, (bool)(httpcode == 407), start);
if(CURLE_OK == ntlm) {
data->state.authproblem = FALSE;
-#ifdef WINBIND_NTLM_AUTH_ENABLED
+#ifdef NTLM_WB_ENABLED
if(authp->picked == CURLAUTH_NTLM_WB) {
*availp &= ~CURLAUTH_NTLM;
authp->avail &= ~CURLAUTH_NTLM;
return result;
}
-#ifdef WINBIND_NTLM_AUTH_ENABLED
-static void wb_ntlm_close(struct connectdata *conn)
+#ifdef NTLM_WB_ENABLED
+static void ntlm_wb_cleanup(struct connectdata *conn)
{
if(conn->ntlm_auth_hlpr_socket != CURL_SOCKET_BAD) {
sclose(conn->ntlm_auth_hlpr_socket);
conn->response_header = NULL;
}
-static CURLcode wb_ntlm_initiate(struct connectdata *conn,
- const char *userp)
+static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp)
{
curl_socket_t sockfds[2];
pid_t child_pid;
}
/* For testing purposes, when DEBUGBUILD is defined and environment
- variable CURL_NTLM_AUTH is set a fake_ntlm is used to perform
+ variable CURL_NTLM_WB_FILE 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("CURL_NTLM_AUTH");
+ ntlm_auth_alloc = curl_getenv("CURL_NTLM_WB_FILE");
if(ntlm_auth_alloc)
ntlm_auth = ntlm_auth_alloc;
else
#endif
- ntlm_auth = WINBIND_NTLM_AUTH_FILE;
+ ntlm_auth = NTLM_WB_FILE;
if(access(ntlm_auth, X_OK) != 0) {
error = ERRNO;
return CURLE_REMOTE_ACCESS_DENIED;
}
-static CURLcode wb_ntlm_response(struct connectdata *conn,
+static CURLcode ntlm_wb_response(struct connectdata *conn,
const char *input, curlntlm state)
{
ssize_t size;
CURLcode Curl_output_ntlm_wb(struct connectdata *conn,
bool proxy)
{
- /* point to the address of the pointer that holds the string to sent to the
+ /* point to the address of the pointer that holds the string to send to the
server, which is for a plain host or for a HTTP proxy */
char **allocuserpwd;
/* point to the name and password for this */
switch(ntlm->state) {
case NTLMSTATE_TYPE1:
default:
- /* Use Samba's 'winbind' daemon to support NTLM single-sign-on,
+ /* Use Samba's 'winbind' daemon to support NTLM authentication,
* by delegating the NTLM challenge/response protocal to a helper
* in ntlm_auth.
* 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
- * 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.
+ * Preprocessor symbol 'NTLM_WB_ENABLED' is defined when this
+ * feature is enabled and 'NTLM_WB_FILE' symbol holds absolute
+ * filename of ntlm_auth helper.
+ * If NTLM authentication using winbind fails, go back to original
+ * request handling process.
*/
/* Create communication with ntlm_auth */
- res = wb_ntlm_initiate(conn, userp);
+ res = ntlm_wb_init(conn, userp);
if(res)
return res;
- res = wb_ntlm_response(conn, "YR\n", ntlm->state);
+ res = ntlm_wb_response(conn, "YR\n", ntlm->state);
if(res)
return res;
input = aprintf("TT %s", conn->challenge_header);
if(!input)
return CURLE_OUT_OF_MEMORY;
- res = wb_ntlm_response(conn, input, ntlm->state);
+ res = ntlm_wb_response(conn, input, ntlm->state);
free(input);
input = NULL;
if(res)
DEBUG_OUT(fprintf(stderr, "**** %s\n ", *allocuserpwd));
ntlm->state = NTLMSTATE_TYPE3; /* we sent a type-3 */
authp->done = TRUE;
- wb_ntlm_close(conn);
+ ntlm_wb_cleanup(conn);
break;
case NTLMSTATE_TYPE3:
/* connection is already authenticated,
return CURLE_OK;
}
-#endif /* WINBIND_NTLM_AUTH_ENABLED */
+#endif /* NTLM_WB_ENABLED */
/*
* This is for creating ntlm header output
#ifdef USE_WINDOWS_SSPI
Curl_ntlm_sspi_cleanup(&conn->ntlm);
Curl_ntlm_sspi_cleanup(&conn->proxyntlm);
-#elif defined(WINBIND_NTLM_AUTH_ENABLED)
- wb_ntlm_close(conn);
+#elif defined(NTLM_WB_ENABLED)
+ ntlm_wb_cleanup(conn);
#else
(void)conn;
#endif
/* this is for creating ntlm header output */
CURLcode Curl_output_ntlm(struct connectdata *conn, bool proxy);
-#ifdef WINBIND_NTLM_AUTH_ENABLED
+#ifdef NTLM_WB_ENABLED
/* this is for creating ntlm header output by delegating challenge/response
to Samba's winbind daemon helper ntlm_auth */
CURLcode Curl_output_ntlm_wb(struct connectdata *conn, bool proxy);
#ifndef USE_NTLM
auth &= ~CURLAUTH_NTLM; /* no NTLM without SSL */
#endif
-#ifndef WINBIND_NTLM_AUTH_ENABLED
+#ifndef NTLM_WB_ENABLED
auth &= ~CURLAUTH_NTLM_WB;
#endif
#ifndef USE_HTTP_NEGOTIATE
#ifndef USE_NTLM
auth &= ~CURLAUTH_NTLM; /* no NTLM without SSL */
#endif
-#ifndef WINBIND_NTLM_AUTH_ENABLED
+#ifndef NTLM_WB_ENABLED
auth &= ~CURLAUTH_NTLM_WB;
#endif
#ifndef USE_HTTP_NEGOTIATE
conn->ip_version = data->set.ipver;
-#ifdef WINBIND_NTLM_AUTH_ENABLED
+#ifdef NTLM_WB_ENABLED
conn->ntlm_auth_hlpr_socket = CURL_SOCKET_BAD;
conn->ntlm_auth_hlpr_pid = 0;
conn->challenge_header = NULL;
single requests! */
struct ntlmdata proxyntlm; /* NTLM data for proxy */
-#ifdef WINBIND_NTLM_AUTH_ENABLED
+#ifdef NTLM_WB_ENABLED
/* used for communication with Samba's winbind daemon helper ntlm_auth */
curl_socket_t ntlm_auth_hlpr_socket;
pid_t ntlm_auth_hlpr_pid;
#ifdef USE_NTLM
| CURL_VERSION_NTLM
#endif
-#ifdef WINBIND_NTLM_AUTH_ENABLED
+#ifdef NTLM_WB_ENABLED
| CURL_VERSION_NTLM_WB
#endif
#ifdef USE_WINDOWS_SSPI
#***************************************************************************
# File version for 'aclocal' use. Keep it a single number.
-# serial 15
+# serial 16
dnl CURL_CHECK_OPTION_THREADED_RESOLVER
dnl -------------------------------------------------
])
-dnl CURL_CHECK_OPTION_WINBIND_NTLM_AUTH
+dnl CURL_CHECK_OPTION_NTLM_WB
dnl -------------------------------------------------
dnl Verify if configure has been invoked with option
-dnl --enable-ntlm-auth or --disable-ntlm-auth, and
-dnl set shell variable want_wb_ntlm_auth and
-dnl want_wb_ntlm_auth_file as appropriate.
-
-AC_DEFUN([CURL_CHECK_OPTION_WINBIND_NTLM_AUTH], [
- AC_BEFORE([$0],[CURL_CHECK_WINBIND_NTLM_AUTH])dnl
- OPT_WINBIND_NTLM_AUTH="default"
- AC_ARG_ENABLE(wb-ntlm-auth,
-AC_HELP_STRING([--enable-wb-ntlm-auth@<:@=FILE@:>@],[Enable NTLM delegation to winbind's ntlm_auth helper, where FILE is ntlm_auth's absolute filename (default: /usr/bin/ntlm_auth)])
-AC_HELP_STRING([--disable-wb-ntlm-auth],[Disable NTLM delegation to winbind's ntlm_auth helper]),
- OPT_WINBIND_NTLM_AUTH=$enableval)
- want_wb_ntlm_auth_file="/usr/bin/ntlm_auth"
- case "$OPT_WINBIND_NTLM_AUTH" in
+dnl --enable-ntlm-wb or --disable-ntlm-wb, and set
+dnl shell variable want_ntlm_wb and want_ntlm_wb_file
+dnl as appropriate.
+
+AC_DEFUN([CURL_CHECK_OPTION_NTLM_WB], [
+ AC_BEFORE([$0],[CURL_CHECK_NTLM_WB])dnl
+ OPT_NTLM_WB="default"
+ AC_ARG_ENABLE(ntlm-wb,
+AC_HELP_STRING([--enable-ntlm-wb@<:@=FILE@:>@],[Enable NTLM delegation to winbind's ntlm_auth helper, where FILE is ntlm_auth's absolute filename (default: /usr/bin/ntlm_auth)])
+AC_HELP_STRING([--disable-ntlm-wb],[Disable NTLM delegation to winbind's ntlm_auth helper]),
+ OPT_NTLM_WB=$enableval)
+ want_ntlm_wb_file="/usr/bin/ntlm_auth"
+ case "$OPT_NTLM_WB" in
no)
- dnl --disable-wb-ntlm-auth option used
- want_wb_ntlm_auth="no"
+ dnl --disable-ntlm-wb option used
+ want_ntlm_wb="no"
;;
default)
dnl configure option not specified
- want_wb_ntlm_auth="yes"
+ want_ntlm_wb="yes"
;;
*)
- dnl --enable-wb-ntlm-auth option used
- want_wb_ntlm_auth="yes"
+ dnl --enable-ntlm-wb option used
+ want_ntlm_wb="yes"
if test -n "$enableval" && test "$enableval" != "yes"; then
- want_wb_ntlm_auth_file="$enableval"
+ want_ntlm_wb_file="$enableval"
fi
;;
esac
])
-dnl CURL_CHECK_WINBIND_NTLM_AUTH
+dnl CURL_CHECK_NTLM_WB
dnl -------------------------------------------------
-dnl Check if winbind's ntlm_auth helper support will
-dnl finally be enabled depending on configure option
-dnl given and target platform.
+dnl Check if support for NTLM delegation to winbind's
+dnl ntlm_auth helper will finally be enabled depending
+dnl on given configure options and target platform.
-AC_DEFUN([CURL_CHECK_WINBIND_NTLM_AUTH], [
- AC_REQUIRE([CURL_CHECK_OPTION_WINBIND_NTLM_AUTH])dnl
+AC_DEFUN([CURL_CHECK_NTLM_WB], [
+ AC_REQUIRE([CURL_CHECK_OPTION_NTLM_WB])dnl
AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl
AC_MSG_CHECKING([whether to enable NTLM delegation to winbind's helper])
if test "$ac_cv_native_windows" = "yes" ||
test "x$SSL_ENABLED" = "x"; then
- want_wb_ntlm_auth_file=""
- want_wb_ntlm_auth="no"
+ want_ntlm_wb_file=""
+ want_ntlm_wb="no"
fi
- AC_MSG_RESULT([$want_wb_ntlm_auth])
- if test "$want_wb_ntlm_auth" = "yes"; then
- AC_DEFINE(WINBIND_NTLM_AUTH_ENABLED, 1,
+ AC_MSG_RESULT([$want_ntlm_wb])
+ if test "$want_ntlm_wb" = "yes"; then
+ AC_DEFINE(NTLM_WB_ENABLED, 1,
[Define to enable NTLM delegation to winbind's ntlm_auth helper.])
- AC_DEFINE_UNQUOTED(WINBIND_NTLM_AUTH_FILE, "$want_wb_ntlm_auth_file",
+ AC_DEFINE_UNQUOTED(NTLM_WB_FILE, "$want_ntlm_wb_file",
[Define absolute filename for winbind's ntlm_auth helper.])
- WINBIND_NTLM_AUTH_ENABLED=1
+ NTLM_WB_ENABLED=1
fi
])
http
</server>
<name>
-HTTP with NTLM single-sign-on authorization
+HTTP with NTLM delegation to winbind helper
</name>
<setenv>
# we force our own host name, in order to make the test machine independent
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
# set path to fake_auth instead of real ntlm_auth to generate NTLM type1 and type 3 messages
-CURL_NTLM_AUTH=%PWD/server/fake_ntlm
+CURL_NTLM_WB_FILE=%PWD/server/fake_ntlm
# set source directory so fake_ntlm can find the test files
CURL_NTLM_AUTH_SRCDIR=%SRCDIR
# set the test number