1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 08:08:50 -05:00

docs: Improve inline GSS-API naming in code documentation

This commit is contained in:
Michael Osipov 2014-07-21 09:53:47 +02:00 committed by Daniel Stenberg
parent e38ba43014
commit eed1c63c70
8 changed files with 49 additions and 49 deletions

View File

@ -786,7 +786,7 @@ CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy,
if(!data->req.newurl) if(!data->req.newurl)
return CURLE_OUT_OF_MEMORY; return CURLE_OUT_OF_MEMORY;
data->state.authproblem = FALSE; data->state.authproblem = FALSE;
/* we received GSS auth info and we dealt with it fine */ /* we received a GSS auth token and we dealt with it fine */
negdata->state = GSS_AUTHRECV; negdata->state = GSS_AUTHRECV;
} }
else else

View File

@ -419,7 +419,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
socksreq[1] = (char)(proxy_name ? 3 : 2); /* number of methods (below) */ socksreq[1] = (char)(proxy_name ? 3 : 2); /* number of methods (below) */
socksreq[2] = 0; /* no authentication */ socksreq[2] = 0; /* no authentication */
socksreq[3] = 1; /* gssapi */ socksreq[3] = 1; /* GSS-API */
socksreq[4] = 2; /* username/password */ socksreq[4] = 2; /* username/password */
#else #else
socksreq[1] = (char)(proxy_name ? 2 : 1); /* number of methods (below) */ socksreq[1] = (char)(proxy_name ? 2 : 1); /* number of methods (below) */
@ -474,7 +474,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
else if(socksreq[1] == 1) { else if(socksreq[1] == 1) {
code = Curl_SOCKS5_gssapi_negotiate(sockindex, conn); code = Curl_SOCKS5_gssapi_negotiate(sockindex, conn);
if(code != CURLE_OK) { if(code != CURLE_OK) {
failf(data, "Unable to negotiate SOCKS5 gssapi context."); failf(data, "Unable to negotiate SOCKS5 GSS-API context.");
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
} }
} }
@ -636,7 +636,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
if(conn->socks5_gssapi_enctype) { if(conn->socks5_gssapi_enctype) {
failf(data, "SOCKS5 gssapi protection not yet implemented."); failf(data, "SOCKS5 GSS-API protection not yet implemented.");
} }
else else
#endif #endif
@ -651,7 +651,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
if(conn->socks5_gssapi_enctype) { if(conn->socks5_gssapi_enctype) {
failf(data, "SOCKS5 gssapi protection not yet implemented."); failf(data, "SOCKS5 GSS-API protection not yet implemented.");
} }
else else
#endif #endif

View File

@ -65,7 +65,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
/* /*
* This function handles the sockss5 gssapie negotiation and initialisation * This function handles the SOCKS5 GSS-API negotiation and initialisation
*/ */
CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex, CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
struct connectdata *conn); struct connectdata *conn);

View File

@ -52,7 +52,7 @@
static gss_ctx_id_t gss_context = GSS_C_NO_CONTEXT; static gss_ctx_id_t gss_context = GSS_C_NO_CONTEXT;
/* /*
* Helper gssapi error functions. * Helper GSS-API error functions.
*/ */
static int check_gss_err(struct SessionHandle *data, static int check_gss_err(struct SessionHandle *data,
OM_uint32 major_status, OM_uint32 major_status,
@ -103,7 +103,7 @@ static int check_gss_err(struct SessionHandle *data,
} }
gss_release_buffer(&min_stat, &status_string); gss_release_buffer(&min_stat, &status_string);
} }
failf(data, "GSSAPI error: %s failed:\n%s", function, buf); failf(data, "GSS-API error: %s failed:\n%s", function, buf);
return(1); return(1);
} }
@ -131,10 +131,10 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_name_t gss_client_name = GSS_C_NO_NAME; gss_name_t gss_client_name = GSS_C_NO_NAME;
unsigned short us_length; unsigned short us_length;
char *user=NULL; char *user=NULL;
unsigned char socksreq[4]; /* room for gssapi exchange header only */ unsigned char socksreq[4]; /* room for GSS-API exchange header only */
char *serviceptr = data->set.str[STRING_SOCKS5_GSSAPI_SERVICE]; char *serviceptr = data->set.str[STRING_SOCKS5_GSSAPI_SERVICE];
/* GSSAPI request looks like /* GSS-API request looks like
* +----+------+-----+----------------+ * +----+------+-----+----------------+
* |VER | MTYP | LEN | TOKEN | * |VER | MTYP | LEN | TOKEN |
* +----+------+----------------------+ * +----+------+----------------------+
@ -195,19 +195,19 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
gss_release_buffer(&gss_status, &gss_send_token); gss_release_buffer(&gss_status, &gss_send_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
failf(data, "Failed to initial GSSAPI token."); failf(data, "Failed to initial GSS-API token.");
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
} }
if(gss_send_token.length != 0) { if(gss_send_token.length != 0) {
socksreq[0] = 1; /* gssapi subnegotiation version */ socksreq[0] = 1; /* GSS-API subnegotiation version */
socksreq[1] = 1; /* authentication message type */ socksreq[1] = 1; /* authentication message type */
us_length = htons((short)gss_send_token.length); us_length = htons((short)gss_send_token.length);
memcpy(socksreq+2,&us_length,sizeof(short)); memcpy(socksreq+2,&us_length,sizeof(short));
code = Curl_write_plain(conn, sock, (char *)socksreq, 4, &written); code = Curl_write_plain(conn, sock, (char *)socksreq, 4, &written);
if((code != CURLE_OK) || (4 != written)) { if((code != CURLE_OK) || (4 != written)) {
failf(data, "Failed to send GSSAPI authentication request."); failf(data, "Failed to send GSS-API authentication request.");
gss_release_name(&gss_status, &server); gss_release_name(&gss_status, &server);
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
gss_release_buffer(&gss_status, &gss_send_token); gss_release_buffer(&gss_status, &gss_send_token);
@ -219,7 +219,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_send_token.length, &written); gss_send_token.length, &written);
if((code != CURLE_OK) || ((ssize_t)gss_send_token.length != written)) { if((code != CURLE_OK) || ((ssize_t)gss_send_token.length != written)) {
failf(data, "Failed to send GSSAPI authentication token."); failf(data, "Failed to send GSS-API authentication token.");
gss_release_name(&gss_status, &server); gss_release_name(&gss_status, &server);
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
gss_release_buffer(&gss_status, &gss_send_token); gss_release_buffer(&gss_status, &gss_send_token);
@ -235,7 +235,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
/* analyse response */ /* analyse response */
/* GSSAPI response looks like /* GSS-API response looks like
* +----+------+-----+----------------+ * +----+------+-----+----------------+
* |VER | MTYP | LEN | TOKEN | * |VER | MTYP | LEN | TOKEN |
* +----+------+----------------------+ * +----+------+----------------------+
@ -245,7 +245,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
result=Curl_blockread_all(conn, sock, (char *)socksreq, 4, &actualread); result=Curl_blockread_all(conn, sock, (char *)socksreq, 4, &actualread);
if(result != CURLE_OK || actualread != 4) { if(result != CURLE_OK || actualread != 4) {
failf(data, "Failed to receive GSSAPI authentication response."); failf(data, "Failed to receive GSS-API authentication response.");
gss_release_name(&gss_status, &server); gss_release_name(&gss_status, &server);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
@ -261,7 +261,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
} }
if(socksreq[1] != 1) { /* status / messgae type */ if(socksreq[1] != 1) { /* status / messgae type */
failf(data, "Invalid GSSAPI authentication response type (%d %d).", failf(data, "Invalid GSS-API authentication response type (%d %d).",
socksreq[0], socksreq[1]); socksreq[0], socksreq[1]);
gss_release_name(&gss_status, &server); gss_release_name(&gss_status, &server);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
@ -275,7 +275,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_recv_token.value=malloc(us_length); gss_recv_token.value=malloc(us_length);
if(!gss_recv_token.value) { if(!gss_recv_token.value) {
failf(data, failf(data,
"Could not allocate memory for GSSAPI authentication " "Could not allocate memory for GSS-API authentication "
"response token."); "response token.");
gss_release_name(&gss_status, &server); gss_release_name(&gss_status, &server);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
@ -286,7 +286,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_recv_token.length, &actualread); gss_recv_token.length, &actualread);
if(result != CURLE_OK || actualread != us_length) { if(result != CURLE_OK || actualread != us_length) {
failf(data, "Failed to receive GSSAPI authentication token."); failf(data, "Failed to receive GSS-API authentication token.");
gss_release_name(&gss_status, &server); gss_release_name(&gss_status, &server);
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
@ -331,12 +331,12 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
user[gss_send_token.length] = '\0'; user[gss_send_token.length] = '\0';
gss_release_name(&gss_status, &gss_client_name); gss_release_name(&gss_status, &gss_client_name);
gss_release_buffer(&gss_status, &gss_send_token); gss_release_buffer(&gss_status, &gss_send_token);
infof(data, "SOCKS5 server authencticated user %s with gssapi.\n",user); infof(data, "SOCKS5 server authencticated user %s with GSS-API.\n",user);
free(user); free(user);
user=NULL; user=NULL;
/* Do encryption */ /* Do encryption */
socksreq[0] = 1; /* gssapi subnegotiation version */ socksreq[0] = 1; /* GSS-API subnegotiation version */
socksreq[1] = 2; /* encryption message type */ socksreq[1] = 2; /* encryption message type */
gss_enc = 0; /* no data protection */ gss_enc = 0; /* no data protection */
@ -347,7 +347,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
else if(gss_ret_flags & GSS_C_INTEG_FLAG) else if(gss_ret_flags & GSS_C_INTEG_FLAG)
gss_enc = 1; gss_enc = 1;
infof(data, "SOCKS5 server supports gssapi %s data protection.\n", infof(data, "SOCKS5 server supports GSS-API %s data protection.\n",
(gss_enc==0)?"no":((gss_enc==1)?"integrity":"confidentiality")); (gss_enc==0)?"no":((gss_enc==1)?"integrity":"confidentiality"));
/* force for the moment to no data protection */ /* force for the moment to no data protection */
gss_enc = 0; gss_enc = 0;
@ -402,7 +402,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_release_buffer(&gss_status, &gss_send_token); gss_release_buffer(&gss_status, &gss_send_token);
gss_release_buffer(&gss_status, &gss_w_token); gss_release_buffer(&gss_status, &gss_w_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
failf(data, "Failed to wrap GSSAPI encryption value into token."); failf(data, "Failed to wrap GSS-API encryption value into token.");
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
} }
gss_release_buffer(&gss_status, &gss_send_token); gss_release_buffer(&gss_status, &gss_send_token);
@ -413,7 +413,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
code = Curl_write_plain(conn, sock, (char *)socksreq, 4, &written); code = Curl_write_plain(conn, sock, (char *)socksreq, 4, &written);
if((code != CURLE_OK) || (4 != written)) { if((code != CURLE_OK) || (4 != written)) {
failf(data, "Failed to send GSSAPI encryption request."); failf(data, "Failed to send GSS-API encryption request.");
gss_release_buffer(&gss_status, &gss_w_token); gss_release_buffer(&gss_status, &gss_w_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
@ -423,7 +423,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
memcpy(socksreq, &gss_enc, 1); memcpy(socksreq, &gss_enc, 1);
code = Curl_write_plain(conn, sock, socksreq, 1, &written); code = Curl_write_plain(conn, sock, socksreq, 1, &written);
if((code != CURLE_OK) || ( 1 != written)) { if((code != CURLE_OK) || ( 1 != written)) {
failf(data, "Failed to send GSSAPI encryption type."); failf(data, "Failed to send GSS-API encryption type.");
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
} }
@ -432,7 +432,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
code = Curl_write_plain(conn, sock, (char *)gss_w_token.value, code = Curl_write_plain(conn, sock, (char *)gss_w_token.value,
gss_w_token.length, &written); gss_w_token.length, &written);
if((code != CURLE_OK) || ((ssize_t)gss_w_token.length != written)) { if((code != CURLE_OK) || ((ssize_t)gss_w_token.length != written)) {
failf(data, "Failed to send GSSAPI encryption type."); failf(data, "Failed to send GSS-API encryption type.");
gss_release_buffer(&gss_status, &gss_w_token); gss_release_buffer(&gss_status, &gss_w_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
@ -442,7 +442,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
result=Curl_blockread_all(conn, sock, (char *)socksreq, 4, &actualread); result=Curl_blockread_all(conn, sock, (char *)socksreq, 4, &actualread);
if(result != CURLE_OK || actualread != 4) { if(result != CURLE_OK || actualread != 4) {
failf(data, "Failed to receive GSSAPI encryption response."); failf(data, "Failed to receive GSS-API encryption response.");
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
} }
@ -456,7 +456,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
} }
if(socksreq[1] != 2) { /* status / messgae type */ if(socksreq[1] != 2) { /* status / messgae type */
failf(data, "Invalid GSSAPI encryption response type (%d %d).", failf(data, "Invalid GSS-API encryption response type (%d %d).",
socksreq[0], socksreq[1]); socksreq[0], socksreq[1]);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
@ -475,7 +475,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_recv_token.length, &actualread); gss_recv_token.length, &actualread);
if(result != CURLE_OK || actualread != us_length) { if(result != CURLE_OK || actualread != us_length) {
failf(data, "Failed to receive GSSAPI encryptrion type."); failf(data, "Failed to receive GSS-API encryptrion type.");
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
@ -490,13 +490,13 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
gss_release_buffer(&gss_status, &gss_w_token); gss_release_buffer(&gss_status, &gss_w_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
failf(data, "Failed to unwrap GSSAPI encryption value into token."); failf(data, "Failed to unwrap GSS-API encryption value into token.");
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
} }
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
if(gss_w_token.length != 1) { if(gss_w_token.length != 1) {
failf(data, "Invalid GSSAPI encryption response length (%d).", failf(data, "Invalid GSS-API encryption response length (%d).",
gss_w_token.length); gss_w_token.length);
gss_release_buffer(&gss_status, &gss_w_token); gss_release_buffer(&gss_status, &gss_w_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
@ -508,7 +508,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
} }
else { else {
if(gss_recv_token.length != 1) { if(gss_recv_token.length != 1) {
failf(data, "Invalid GSSAPI encryption response length (%d).", failf(data, "Invalid GSS-API encryption response length (%d).",
gss_recv_token.length); gss_recv_token.length);
gss_release_buffer(&gss_status, &gss_recv_token); gss_release_buffer(&gss_status, &gss_recv_token);
gss_delete_sec_context(&gss_status, &gss_context, NULL); gss_delete_sec_context(&gss_status, &gss_context, NULL);
@ -520,8 +520,8 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
} }
infof(data, "SOCKS5 access with%s protection granted.\n", infof(data, "SOCKS5 access with%s protection granted.\n",
(socksreq[0]==0)?"out gssapi data": (socksreq[0]==0)?"out GSS-API data":
((socksreq[0]==1)?" gssapi integrity":" gssapi confidentiality")); ((socksreq[0]==1)?" GSS-API integrity":" GSS-API confidentiality"));
conn->socks5_gssapi_enctype = socksreq[0]; conn->socks5_gssapi_enctype = socksreq[0];
if(socksreq[0] == 0) if(socksreq[0] == 0)

View File

@ -76,7 +76,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
ssize_t actualread; ssize_t actualread;
ssize_t written; ssize_t written;
int result; int result;
/* Needs GSSAPI authentication */ /* Needs GSS-API authentication */
SECURITY_STATUS status; SECURITY_STATUS status;
unsigned long sspi_ret_flags = 0; unsigned long sspi_ret_flags = 0;
int gss_enc; int gss_enc;
@ -91,10 +91,10 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
char *service_name = NULL; char *service_name = NULL;
unsigned short us_length; unsigned short us_length;
unsigned long qop; unsigned long qop;
unsigned char socksreq[4]; /* room for gssapi exchange header only */ unsigned char socksreq[4]; /* room for GSS-API exchange header only */
char *service = data->set.str[STRING_SOCKS5_GSSAPI_SERVICE]; char *service = data->set.str[STRING_SOCKS5_GSSAPI_SERVICE];
/* GSSAPI request looks like /* GSS-API request looks like
* +----+------+-----+----------------+ * +----+------+-----+----------------+
* |VER | MTYP | LEN | TOKEN | * |VER | MTYP | LEN | TOKEN |
* +----+------+----------------------+ * +----+------+----------------------+
@ -201,7 +201,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
} }
if(sspi_send_token.cbBuffer != 0) { if(sspi_send_token.cbBuffer != 0) {
socksreq[0] = 1; /* gssapi subnegotiation version */ socksreq[0] = 1; /* GSS-API subnegotiation version */
socksreq[1] = 1; /* authentication message type */ socksreq[1] = 1; /* authentication message type */
us_length = htons((short)sspi_send_token.cbBuffer); us_length = htons((short)sspi_send_token.cbBuffer);
memcpy(socksreq+2, &us_length, sizeof(short)); memcpy(socksreq+2, &us_length, sizeof(short));
@ -252,7 +252,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
/* analyse response */ /* analyse response */
/* GSSAPI response looks like /* GSS-API response looks like
* +----+------+-----+----------------+ * +----+------+-----+----------------+
* |VER | MTYP | LEN | TOKEN | * |VER | MTYP | LEN | TOKEN |
* +----+------+----------------------+ * +----+------+----------------------+
@ -329,12 +329,12 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
failf(data, "Failed to determine user name."); failf(data, "Failed to determine user name.");
return CURLE_COULDNT_CONNECT; return CURLE_COULDNT_CONNECT;
} }
infof(data, "SOCKS5 server authencticated user %s with gssapi.\n", infof(data, "SOCKS5 server authencticated user %s with GSS-API.\n",
names.sUserName); names.sUserName);
s_pSecFn->FreeContextBuffer(names.sUserName); s_pSecFn->FreeContextBuffer(names.sUserName);
/* Do encryption */ /* Do encryption */
socksreq[0] = 1; /* gssapi subnegotiation version */ socksreq[0] = 1; /* GSS-API subnegotiation version */
socksreq[1] = 2; /* encryption message type */ socksreq[1] = 2; /* encryption message type */
gss_enc = 0; /* no data protection */ gss_enc = 0; /* no data protection */
@ -345,7 +345,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
else if(sspi_ret_flags & ISC_REQ_INTEGRITY) else if(sspi_ret_flags & ISC_REQ_INTEGRITY)
gss_enc = 1; gss_enc = 1;
infof(data, "SOCKS5 server supports gssapi %s data protection.\n", infof(data, "SOCKS5 server supports GSS-API %s data protection.\n",
(gss_enc==0)?"no":((gss_enc==1)?"integrity":"confidentiality") ); (gss_enc==0)?"no":((gss_enc==1)?"integrity":"confidentiality") );
/* force to no data protection, avoid encryption/decryption for now */ /* force to no data protection, avoid encryption/decryption for now */
gss_enc = 0; gss_enc = 0;
@ -593,8 +593,8 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex,
} }
infof(data, "SOCKS5 access with%s protection granted.\n", infof(data, "SOCKS5 access with%s protection granted.\n",
(socksreq[0]==0)?"out gssapi data": (socksreq[0]==0)?"out GSS-API data":
((socksreq[0]==1)?" gssapi integrity":" gssapi confidentiality")); ((socksreq[0]==1)?" GSS-API integrity":" GSS-API confidentiality"));
/* For later use if encryption is required /* For later use if encryption is required
conn->socks5_gssapi_enctype = socksreq[0]; conn->socks5_gssapi_enctype = socksreq[0];

View File

@ -543,7 +543,7 @@ CURLcode Curl_init_userdefined(struct UserDefined *set)
* seem not to follow rfc1961 section 4.3/4.4 * seem not to follow rfc1961 section 4.3/4.4
*/ */
set->socks5_gssapi_nec = FALSE; set->socks5_gssapi_nec = FALSE;
/* set default gssapi service name */ /* set default GSS-API service name */
res = setstropt(&set->str[STRING_SOCKS5_GSSAPI_SERVICE], res = setstropt(&set->str[STRING_SOCKS5_GSSAPI_SERVICE],
(char *) CURL_DEFAULT_SOCKS5_GSSAPI_SERVICE); (char *) CURL_DEFAULT_SOCKS5_GSSAPI_SERVICE);
if(res != CURLE_OK) if(res != CURLE_OK)
@ -1419,7 +1419,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
case CURLOPT_SOCKS5_GSSAPI_SERVICE: case CURLOPT_SOCKS5_GSSAPI_SERVICE:
/* /*
* Set gssapi service name * Set GSS-API service name
*/ */
result = setstropt(&data->set.str[STRING_SOCKS5_GSSAPI_SERVICE], result = setstropt(&data->set.str[STRING_SOCKS5_GSSAPI_SERVICE],
va_arg(param, char *)); va_arg(param, char *));
@ -1925,7 +1925,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
break; break;
case CURLOPT_GSSAPI_DELEGATION: case CURLOPT_GSSAPI_DELEGATION:
/* /*
* GSSAPI credential delegation * GSS-API credential delegation
*/ */
data->set.gssapi_delegation = va_arg(param, long); data->set.gssapi_delegation = va_arg(param, long);
break; break;

View File

@ -1595,7 +1595,7 @@ struct UserDefined {
to pattern (e.g. if WILDCARDMATCH is on) */ to pattern (e.g. if WILDCARDMATCH is on) */
void *fnmatch_data; void *fnmatch_data;
long gssapi_delegation; /* GSSAPI credential delegation, see the long gssapi_delegation; /* GSS-API credential delegation, see the
documentation of CURLOPT_GSSAPI_DELEGATION */ documentation of CURLOPT_GSSAPI_DELEGATION */
bool tcp_keepalive; /* use TCP keepalives */ bool tcp_keepalive; /* use TCP keepalives */

View File

@ -198,7 +198,7 @@ static const char *const helptext[] = {
" --socks5-hostname HOST[:PORT] " " --socks5-hostname HOST[:PORT] "
"SOCKS5 proxy, pass host name to proxy", "SOCKS5 proxy, pass host name to proxy",
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
" --socks5-gssapi-service NAME SOCKS5 proxy service name for gssapi", " --socks5-gssapi-service NAME SOCKS5 proxy service name for GSS-API",
" --socks5-gssapi-nec Compatibility with NEC SOCKS5 server", " --socks5-gssapi-nec Compatibility with NEC SOCKS5 server",
#endif #endif
" -Y, --speed-limit RATE " " -Y, --speed-limit RATE "