curl_ssh_msg="no (--with-libssh2)"
curl_zlib_msg="no (--with-zlib)"
curl_gss_msg="no (--with-gssapi)"
- curl_spnego_msg="no (--with-spnego)"
curl_tls_srp_msg="no (--enable-tls-srp)"
curl_res_msg="default (--enable-ares / --enable-threaded-resolver)"
curl_ipv6_msg="no (--enable-ipv6)"
;;
esac
-dnl **********************************************************************
-dnl Check for FBopenssl(SPNEGO) libraries
-dnl **********************************************************************
-
-AC_ARG_WITH(spnego,
- AC_HELP_STRING([--with-spnego=DIR],
- [Specify location of SPNEGO library fbopenssl]), [
- SPNEGO_ROOT="$withval"
- if test x"$SPNEGO_ROOT" != xno; then
- want_spnego="yes"
- fi
-])
-
-AC_MSG_CHECKING([if SPNEGO support is requested])
-if test x"$want_spnego" = xyes; then
-
- if test X"$SPNEGO_ROOT" = Xyes; then
- AC_MSG_ERROR([FBOpenSSL libs and/or directories were not found where specified!])
- AC_MSG_RESULT(no)
- else
- if test -z "$SPNEGO_LIB_DIR"; then
- LDFLAGS="$LDFLAGS -L$SPNEGO_ROOT -lfbopenssl"
- else
- LDFLAGS="$LDFLAGS $SPNEGO_LIB_DIR"
- fi
-
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_SPNEGO, 1,
- [Define this if you have the SPNEGO library fbopenssl])
- curl_spnego_msg="enabled"
- fi
-else
- AC_MSG_RESULT(no)
-fi
-
dnl **********************************************************************
dnl Check for GSS-API libraries
dnl **********************************************************************
if test "x$USE_NGHTTP2" = "x1"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
fi
-if test "x$curl_spnego_msg" = "xenabled"; then
- SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO"
-fi
if test "x$want_gss" = "xyes"; then
SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API"
fi
SSH support: ${curl_ssh_msg}
zlib support: ${curl_zlib_msg}
GSS-API support: ${curl_gss_msg}
- SPNEGO support: ${curl_spnego_msg}
TLS-SRP support: ${curl_tls_srp_msg}
resolver: ${curl_res_msg}
ipv6 support: ${curl_ipv6_msg}
may not distribute binary curl packages that uses this if you build
curl to also link and use any Original BSD licensed libraries!
-fbopenssl
-
- (Used for SPNEGO support) Unclear license. Based on its name, I assume
- that it uses the OpenSSL license and thus shares the same issues as
- described for OpenSSL above.
-
libidn http://josefsson.org/libidn/
(Used for IDNA support) Uses the GNU Lesser General Public
ifeq ($(findstring -sspi,$(CFG)),-sspi)
SSPI = 1
endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-SPNEGO = 1
-endif
ifeq ($(findstring -ldaps,$(CFG)),-ldaps)
LDAPS = 1
endif
CFLAGS += -DUSE_SCHANNEL
endif
endif
-ifdef SPNEGO
- CFLAGS += -DHAVE_SPNEGO
-endif
ifdef IPV6
CFLAGS += -DENABLE_IPV6 -D_WIN32_WINNT=0x0501
endif
ifeq ($(findstring -idn,$(CFG)),-idn)
WITH_IDN = 1
endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-WITH_SPNEGO = 1
-endif
ifeq ($(findstring -ipv6,$(CFG)),-ipv6)
ENABLE_IPV6 = 1
endif
LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/ssl.$(LIBEXT)
LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/crypto.$(LIBEXT)
IMPORTS += GetProcessSwitchCount RunningProcess
-ifdef WITH_SPNEGO
- # INCLUDES += -I$(FBOPENSSL_PATH)/include
- LDLIBS += $(FBOPENSSL_PATH)/nw/fbopenssl.$(LIBEXT)
-endif
else
ifdef WITH_AXTLS
INCLUDES += -I$(AXTLS_PATH)/inc
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
fi
shift # arg
dst_arg=$arg
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
echo "$0: no input file specified." >&2
exit 1
fi
- # It's OK to call `install-sh -d' without argument.
+ # It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
for src
do
- # Protect names problematic for `test' and other utilities.
+ # Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
+ # other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm &
-wcd=201 -bt=nt -d+ -dWIN32 -dCURL_WANTS_CA_BUNDLE_ENV &
- -dBUILDING_LIBCURL -dHAVE_SPNEGO=1 -I. -I"../include" $(SYS_INCL)
+ -dBUILDING_LIBCURL -I. -I"../include" $(SYS_INCL)
!ifdef %debug
DEBUG = -dDEBUG=1 -dDEBUGBUILD
.c{$(OBJ_STAT)}.obj:
$(CC) $(CFLAGS) -DCURL_STATICLIB $[@ -fo=$^@
-
\ No newline at end of file
+
ifeq ($(findstring -sspi,$(CFG)),-sspi)
SSPI = 1
endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-SPNEGO = 1
-endif
ifeq ($(findstring -ldaps,$(CFG)),-ldaps)
LDAPS = 1
endif
ifeq ($(findstring -idn,$(CFG)),-idn)
WITH_IDN = 1
endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-WITH_SPNEGO = 1
-endif
ifeq ($(findstring -ipv6,$(CFG)),-ipv6)
ENABLE_IPV6 = 1
endif
LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/crypto.$(LIBEXT)
IMPORTS += GetProcessSwitchCount RunningProcess
INSTDEP += ca-bundle.crt
-ifdef WITH_SPNEGO
- INCLUDES += -I$(FBOPENSSL_PATH)/include
- LDLIBS += $(FBOPENSSL_PATH)/nw/fbopenssl.$(LIBEXT)
-endif
else
ifdef WITH_AXTLS
INCLUDES += -I$(AXTLS_PATH)/inc
#define HAVE_SETMODE 1
#define HAVE_SIGNAL 1
#define HAVE_SOCKET 1
-#define HAVE_SPNEGO 1
#define HAVE_STRDUP 1
#define HAVE_STRICMP 1
#define HAVE_STRTOLL 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
-/* Define this if you have the SPNEGO library fbopenssl */
-/* #undef HAVE_SPNEGO */
-
/* Define to 1 if you have the `SSL_get_shutdown' function. */
/*#define HAVE_SSL_GET_SHUTDOWN 1*/
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
-/* Define this if you have the SPNEGO library fbopenssl */
-/* #undef HAVE_SPNEGO */
-
/* Define to 1 if you have the <ssl.h> header file. */
/* #undef HAVE_SSL_H */
#define HAVE_SSL_H 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
-/* Define this if you have the SPNEGO library fbopenssl */
-/* #undef HAVE_SPNEGO */
-
/* Define to 1 if you have the `SSL_get_shutdown' function. */
#define HAVE_SSL_GET_SHUTDOWN 1
/* Define to 1 if you have the `socket' function. */
#cmakedefine HAVE_SOCKET ${HAVE_SOCKET}
-/* Define this if you have the SPNEGO library fbopenssl */
-#cmakedefine HAVE_SPNEGO ${HAVE_SPNEGO}
-
/* Define to 1 if you have the `SSL_get_shutdown' function. */
#cmakedefine HAVE_SSL_GET_SHUTDOWN ${HAVE_SSL_GET_SHUTDOWN}
#include "curl_memory.h"
#include "url.h"
-#ifdef HAVE_SPNEGO
-# include <spnegohelp.h>
-# ifdef USE_SSLEAY
-# ifdef USE_OPENSSL
-# include <openssl/objects.h>
-# else
-# include <objects.h>
-# endif
-# else
-# error "Can't compile SPNEGO support without OpenSSL."
-# endif
-#endif
-
#define _MPRINTF_REPLACE /* use our functions only */
#include <curl/mprintf.h>
input_token.length = rawlen;
DEBUGASSERT(input_token.value != NULL);
-
-#ifdef HAVE_SPNEGO /* Handle SPNEGO */
- if(checkprefix("Negotiate", header)) {
- unsigned char *spnegoToken = NULL;
- size_t spnegoTokenLength = 0;
- gss_buffer_desc mechToken = GSS_C_EMPTY_BUFFER;
-
- spnegoToken = malloc(input_token.length);
- if(spnegoToken == NULL) {
- Curl_safefree(input_token.value);
- return CURLE_OUT_OF_MEMORY;
- }
- memcpy(spnegoToken, input_token.value, input_token.length);
- spnegoTokenLength = input_token.length;
-
- if(!parseSpnegoTargetToken(spnegoToken,
- spnegoTokenLength,
- NULL,
- NULL,
- (unsigned char**)&mechToken.value,
- &mechToken.length,
- NULL,
- NULL)) {
- Curl_safefree(spnegoToken);
- infof(data, "Parse SPNEGO Target Token failed\n");
- }
- else if(!mechToken.value || !mechToken.length) {
- Curl_safefree(spnegoToken);
- if(mechToken.value)
- gss_release_buffer(&discard_st, &mechToken);
- infof(data, "Parse SPNEGO Target Token succeeded (NULL token)\n");
- }
- else {
- Curl_safefree(spnegoToken);
- Curl_safefree(input_token.value);
- input_token.value = malloc(mechToken.length);
- if(input_token.value == NULL) {
- gss_release_buffer(&discard_st, &mechToken);
- return CURLE_OUT_OF_MEMORY;
- }
- memcpy(input_token.value, mechToken.value, mechToken.length);
- input_token.length = mechToken.length;
- gss_release_buffer(&discard_st, &mechToken);
- infof(data, "Parse SPNEGO Target Token succeeded\n");
- }
- }
-#endif
}
major_status = Curl_gss_init_sec_context(data,
CURLcode error;
OM_uint32 discard_st;
-#ifdef HAVE_SPNEGO /* Handle SPNEGO */
- if(checkprefix("Negotiate", neg_ctx->protocol)) {
- ASN1_OBJECT *object = NULL;
- unsigned char *responseToken = NULL;
- size_t responseTokenLength = 0;
- gss_buffer_desc spnegoToken = GSS_C_EMPTY_BUFFER;
-
- responseToken = malloc(neg_ctx->output_token.length);
- if(responseToken == NULL)
- return CURLE_OUT_OF_MEMORY;
- memcpy(responseToken, neg_ctx->output_token.value,
- neg_ctx->output_token.length);
- responseTokenLength = neg_ctx->output_token.length;
-
- object = OBJ_txt2obj("1.2.840.113554.1.2.2", 1);
- if(!object) {
- Curl_safefree(responseToken);
- return CURLE_OUT_OF_MEMORY;
- }
-
- if(!makeSpnegoInitialToken(object,
- responseToken,
- responseTokenLength,
- (unsigned char**)&spnegoToken.value,
- &spnegoToken.length)) {
- Curl_safefree(responseToken);
- ASN1_OBJECT_free(object);
- infof(conn->data, "Make SPNEGO Initial Token failed\n");
- }
- else if(!spnegoToken.value || !spnegoToken.length) {
- Curl_safefree(responseToken);
- ASN1_OBJECT_free(object);
- if(spnegoToken.value)
- gss_release_buffer(&discard_st, &spnegoToken);
- infof(conn->data, "Make SPNEGO Initial Token succeeded (NULL token)\n");
- }
- else {
- Curl_safefree(responseToken);
- ASN1_OBJECT_free(object);
- gss_release_buffer(&discard_st, &neg_ctx->output_token);
- neg_ctx->output_token.value = spnegoToken.value;
- neg_ctx->output_token.length = spnegoToken.length;
- infof(conn->data, "Make SPNEGO Initial Token succeeded\n");
- }
- }
-#endif
error = Curl_base64_encode(conn->data,
neg_ctx->output_token.value,
neg_ctx->output_token.length,
#ifdef CURLRES_ASYNCH
| CURL_VERSION_ASYNCHDNS
#endif
-#ifdef HAVE_SPNEGO
- | CURL_VERSION_SPNEGO
-#endif
#if (CURL_SIZEOF_CURL_OFF_T > 4) && \
( (SIZEOF_OFF_T > 4) || defined(USE_WIN32_LARGE_FILES) )
| CURL_VERSION_LARGEFILE
echo "mkdir -p -- $*"
exec mkdir -p -- "$@"
else
- # On NextStep and OpenStep, the `mkdir' command does not
+ # On NextStep and OpenStep, the 'mkdir' command does not
# recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
+ # directories to create, and then abort because '.' already
# exists.
test -d ./-p && rmdir ./-p
test -d ./--version && rmdir ./--version
ifeq ($(findstring -sspi,$(CFG)),-sspi)
SSPI = 1
endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-SPNEGO = 1
-endif
ifeq ($(findstring -ldaps,$(CFG)),-ldaps)
LDAPS = 1
endif
CFLAGS += -DUSE_SCHANNEL
endif
endif
-ifdef SPNEGO
- CFLAGS += -DHAVE_SPNEGO
-endif
ifdef IPV6
CFLAGS += -DENABLE_IPV6 -D_WIN32_WINNT=0x0501
endif
ifeq ($(findstring -idn,$(CFG)),-idn)
WITH_IDN = 1
endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-WITH_SPNEGO = 1
-WITH_SSL = 1
-endif
ifeq ($(findstring -metalink,$(CFG)),-metalink)
WITH_METALINK = 1
WITH_SSL = 1
LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/ssl.$(LIBEXT)
LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/crypto.$(LIBEXT)
IMPORTS += GetProcessSwitchCount RunningProcess
-ifdef WITH_SPNEGO
- # INCLUDES += -I$(FBOPENSSL_PATH)/include
- LDLIBS += $(FBOPENSSL_PATH)/nw/fbopenssl.$(LIBEXT)
-endif
else
ifdef WITH_AXTLS
# INCLUDES += -I$(AXTLS_PATH)/inc
{"Largefile", CURL_VERSION_LARGEFILE},
{"NTLM", CURL_VERSION_NTLM},
{"NTLM_WB", CURL_VERSION_NTLM_WB},
- {"SPNEGO", CURL_VERSION_SPNEGO},
{"SSL", CURL_VERSION_SSL},
{"SSPI", CURL_VERSION_SSPI},
{"krb4", CURL_VERSION_KERBEROS4},
!MESSAGE http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815\r
!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes\r
!MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes\r
-!MESSAGE ENABLE_SPNEGO=<yes or no> - Enable Simple and Protected GSSAPI Negotiation Mechanism, defaults to yes\r
!MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes\r
!MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)\r
!MESSAGE DEBUG=<yes or no> - Debug builds\r
USE_SSPI = false\r
!ENDIF\r
\r
-!IFNDEF ENABLE_SPNEGO\r
-USE_SPNEGO = true\r
-!ELSEIF "$(ENABLE_SPNEGO)"=="yes"\r
-USE_SPNEGO = true\r
-!ELSEIF "$(ENABLE_SPNEGO)"=="no"\r
-USE_SPNEGO = false\r
-!ENDIF\r
-\r
!IFNDEF ENABLE_WINSSL\r
!IFDEF WITH_SSL\r
USE_WINSSL = false\r
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi\r
!ENDIF\r
\r
-!IF "$(USE_SPNEGO)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-spnego\r
-!ENDIF\r
-\r
!IF "$(USE_WINSSL)"=="true"\r
CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl\r
!ENDIF\r
@SET USE_IDN=$(USE_IDN)\r
@SET USE_IPV6=$(USE_IPV6)\r
@SET USE_SSPI=$(USE_SSPI)\r
- @SET USE_SPNEGO=$(USE_SPNEGO)\r
@SET USE_WINSSL=$(USE_WINSSL)\r
@$(MAKE) /NOLOGO /F MakefileBuild.vc\r
\r
!ENDIF\r
\r
\r
-!IFNDEF USE_SPNEGO\r
-USE_SPNEGO = true\r
-!ELSEIF "$(USE_SPNEGO)"=="yes"\r
-USE_SPNEGO = true\r
-!ENDIF\r
-\r
-!IF "$(USE_SPNEGO)"=="true"\r
-SPNEGO_CFLAGS = $(SPNEGO_CFLAGS) /DHAVE_SPNEGO\r
-!ENDIF\r
-\r
-\r
!IFNDEF USE_WINSSL\r
!IF "$(USE_SSL)"=="true"\r
USE_WINSSL = false\r
CFLAGS = $(CFLAGS) $(SSPI_CFLAGS)\r
!ENDIF\r
\r
-!IF "$(USE_SPNEGO)"=="true"\r
-CFLAGS = $(CFLAGS) $(SPNEGO_CFLAGS)\r
-!ENDIF\r
-\r
!IF "$(GEN_PDB)"=="true"\r
CFLAGS = $(CFLAGS) $(CFLAGS_PDB) /Fd"$(LIB_DIROBJ)\$(PDB)"\r
LFLAGS = $(LFLAGS) $(LFLAGS_PDB)\r
@echo Using IDN: $(USE_IDN)\r
@echo Using IPv6: $(USE_IPV6)\r
@echo Using SSPI: $(USE_SSPI)\r
- @echo Using SPNEGO: $(USE_SPNEGO)\r
@echo Using WinSSL: $(USE_WINSSL)\r
@echo CFLAGS: $(CFLAGS)\r
@echo LFLAGS: $(LFLAGS)\r