mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
Calls to Curl_failf() are not supposed to provide a trailing newline as the
function itself adds that. Fixed on 50 or something strings!
This commit is contained in:
parent
991505e077
commit
ed6466d176
4
CHANGES
4
CHANGES
@ -6,6 +6,10 @@
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
Daniel S (16 Jan 2008)
|
||||||
|
- Calls to Curl_failf() are not supposed to provide a trailing newline as the
|
||||||
|
function itself adds that. Fixed on 50 or something strings!
|
||||||
|
|
||||||
Daniel S (15 Jan 2008)
|
Daniel S (15 Jan 2008)
|
||||||
- I made the torture test on test 530 go through. This was actually due to
|
- I made the torture test on test 530 go through. This was actually due to
|
||||||
silly code left from when we switched to let the multi handle "hold" the dns
|
silly code left from when we switched to let the multi handle "hold" the dns
|
||||||
|
@ -53,6 +53,7 @@ This release includes the following bugfixes:
|
|||||||
o curl-config --libs skips /usr/lib64
|
o curl-config --libs skips /usr/lib64
|
||||||
o range support for file:// transfers
|
o range support for file:// transfers
|
||||||
o libcurl hang with huge POST request and request-body read from callback
|
o libcurl hang with huge POST request and request-body read from callback
|
||||||
|
o removed extra newlines from many error messages
|
||||||
|
|
||||||
This release includes the following known bugs:
|
This release includes the following known bugs:
|
||||||
|
|
||||||
|
@ -934,7 +934,7 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
|
|||||||
rc = getnameinfo((struct sockaddr *)&ss, sslen, hbuf, sizeof(hbuf), NULL,
|
rc = getnameinfo((struct sockaddr *)&ss, sslen, hbuf, sizeof(hbuf), NULL,
|
||||||
0, NIFLAGS);
|
0, NIFLAGS);
|
||||||
if(rc) {
|
if(rc) {
|
||||||
failf(data, "getnameinfo() returned %d \n", rc);
|
failf(data, "getnameinfo() returned %d", rc);
|
||||||
return CURLE_FTP_PORT_FAILED;
|
return CURLE_FTP_PORT_FAILED;
|
||||||
}
|
}
|
||||||
host = hbuf; /* use this host name */
|
host = hbuf; /* use this host name */
|
||||||
@ -2630,7 +2630,7 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
|
|||||||
ftpc->count1 = 1;
|
ftpc->count1 = 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
failf(data, "unsupported parameter to CURLOPT_FTPSSLAUTH: %d\n",
|
failf(data, "unsupported parameter to CURLOPT_FTPSSLAUTH: %d",
|
||||||
data->set.ftpsslauth);
|
data->set.ftpsslauth);
|
||||||
return CURLE_FAILED_INIT; /* we don't know what to do */
|
return CURLE_FAILED_INIT; /* we don't know what to do */
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
|
* Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* Copyright (c) 2004 - 2007 Daniel Stenberg
|
* Copyright (c) 2004 - 2008 Daniel Stenberg
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -362,7 +362,7 @@ CURLcode Curl_krb_kauth(struct connectdata *conn)
|
|||||||
tmp=0;
|
tmp=0;
|
||||||
}
|
}
|
||||||
if(!tmp || !ptr) {
|
if(!tmp || !ptr) {
|
||||||
Curl_failf(conn->data, "Failed to decode base64 in reply.\n");
|
Curl_failf(conn->data, "Failed to decode base64 in reply");
|
||||||
Curl_set_command_prot(conn, save);
|
Curl_set_command_prot(conn, save);
|
||||||
return CURLE_FTP_WEIRD_SERVER_REPLY;
|
return CURLE_FTP_WEIRD_SERVER_REPLY;
|
||||||
}
|
}
|
||||||
|
12
lib/nss.c
12
lib/nss.c
@ -5,7 +5,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
@ -436,10 +436,10 @@ static int display_error(struct connectdata *conn, PRInt32 err,
|
|||||||
{
|
{
|
||||||
switch(err) {
|
switch(err) {
|
||||||
case SEC_ERROR_BAD_PASSWORD:
|
case SEC_ERROR_BAD_PASSWORD:
|
||||||
failf(conn->data, "Unable to load client key: Incorrect password\n");
|
failf(conn->data, "Unable to load client key: Incorrect password");
|
||||||
return 1;
|
return 1;
|
||||||
case SEC_ERROR_UNKNOWN_CERT:
|
case SEC_ERROR_UNKNOWN_CERT:
|
||||||
failf(conn->data, "Unable to load certificate %s\n", filename);
|
failf(conn->data, "Unable to load certificate %s", filename);
|
||||||
return 1;
|
return 1;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -521,10 +521,10 @@ static SECStatus nss_Init_Tokens(struct connectdata * conn)
|
|||||||
|
|
||||||
if(PK11_NeedLogin(slot) && PK11_NeedUserInit(slot)) {
|
if(PK11_NeedLogin(slot) && PK11_NeedUserInit(slot)) {
|
||||||
if(slot == PK11_GetInternalKeySlot()) {
|
if(slot == PK11_GetInternalKeySlot()) {
|
||||||
failf(conn->data, "The NSS database has not been initialized.\n");
|
failf(conn->data, "The NSS database has not been initialized");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
failf(conn->data, "The token %s has not been initialized.",
|
failf(conn->data, "The token %s has not been initialized",
|
||||||
PK11_GetTokenName(slot));
|
PK11_GetTokenName(slot));
|
||||||
}
|
}
|
||||||
PK11_FreeSlot(slot);
|
PK11_FreeSlot(slot);
|
||||||
@ -1057,7 +1057,7 @@ int Curl_nss_send(struct connectdata *conn, /* connection data */
|
|||||||
return CURLE_OPERATION_TIMEDOUT;
|
return CURLE_OPERATION_TIMEDOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
failf(conn->data, "SSL write: error %d\n", err);
|
failf(conn->data, "SSL write: error %d", err);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return rc; /* number of bytes */
|
return rc; /* number of bytes */
|
||||||
|
28
lib/qssl.c
28
lib/qssl.c
@ -5,7 +5,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
@ -108,7 +108,7 @@ static CURLcode Curl_qsossl_init_session(struct SessionHandle * data)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SSL_ERROR_IO:
|
case SSL_ERROR_IO:
|
||||||
failf(data, "SSL_Init() I/O error: %s\n", strerror(errno));
|
failf(data, "SSL_Init() I/O error: %s", strerror(errno));
|
||||||
return CURLE_SSL_CONNECT_ERROR;
|
return CURLE_SSL_CONNECT_ERROR;
|
||||||
|
|
||||||
case SSL_ERROR_BAD_CIPHER_SUITE:
|
case SSL_ERROR_BAD_CIPHER_SUITE:
|
||||||
@ -125,7 +125,7 @@ static CURLcode Curl_qsossl_init_session(struct SessionHandle * data)
|
|||||||
return CURLE_SSL_CERTPROBLEM;
|
return CURLE_SSL_CERTPROBLEM;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
failf(data, "SSL_Init(): %s\n", SSL_Strerror(rc, NULL));
|
failf(data, "SSL_Init(): %s", SSL_Strerror(rc, NULL));
|
||||||
return CURLE_SSL_CONNECT_ERROR;
|
return CURLE_SSL_CONNECT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,9 +142,9 @@ static CURLcode Curl_qsossl_create(struct connectdata * conn, int sockindex)
|
|||||||
h = SSL_Create(conn->sock[sockindex], SSL_ENCRYPT);
|
h = SSL_Create(conn->sock[sockindex], SSL_ENCRYPT);
|
||||||
|
|
||||||
if(!h) {
|
if(!h) {
|
||||||
failf(conn->data, "SSL_Create() I/O error: %s\n", strerror(errno));
|
failf(conn->data, "SSL_Create() I/O error: %s", strerror(errno));
|
||||||
return CURLE_SSL_CONNECT_ERROR;
|
return CURLE_SSL_CONNECT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
connssl->handle = h;
|
connssl->handle = h;
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
@ -232,11 +232,11 @@ static CURLcode Curl_qsossl_handshake(struct connectdata * conn, int sockindex)
|
|||||||
return CURLE_SSL_CERTPROBLEM;
|
return CURLE_SSL_CERTPROBLEM;
|
||||||
|
|
||||||
case SSL_ERROR_IO:
|
case SSL_ERROR_IO:
|
||||||
failf(data, "SSL_Handshake(): %s\n", SSL_Strerror(rc, NULL));
|
failf(data, "SSL_Handshake(): %s", SSL_Strerror(rc, NULL));
|
||||||
return CURLE_SSL_CONNECT_ERROR;
|
return CURLE_SSL_CONNECT_ERROR;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
failf(data, "SSL_Init(): %s\n", SSL_Strerror(rc, NULL));
|
failf(data, "SSL_Init(): %s", SSL_Strerror(rc, NULL));
|
||||||
return CURLE_SSL_CONNECT_ERROR;
|
return CURLE_SSL_CONNECT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,12 +282,12 @@ static int Curl_qsossl_close_one(struct ssl_connect_data * conn,
|
|||||||
|
|
||||||
if(rc) {
|
if(rc) {
|
||||||
if(rc == SSL_ERROR_IO) {
|
if(rc == SSL_ERROR_IO) {
|
||||||
failf(data, "SSL_Destroy() I/O error: %s\n", strerror(errno));
|
failf(data, "SSL_Destroy() I/O error: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* An SSL error. */
|
/* An SSL error. */
|
||||||
failf(data, "SSL_Destroy() returned error %d\n", SSL_Strerror(rc, NULL));
|
failf(data, "SSL_Destroy() returned error %d", SSL_Strerror(rc, NULL));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -359,7 +359,7 @@ int Curl_qsossl_shutdown(struct connectdata * conn, int sockindex)
|
|||||||
nread = read(conn->sock[sockindex], buf, sizeof(buf));
|
nread = read(conn->sock[sockindex], buf, sizeof(buf));
|
||||||
|
|
||||||
if(nread < 0) {
|
if(nread < 0) {
|
||||||
failf(data, "read: %s\n", strerror(errno));
|
failf(data, "read: %s", strerror(errno));
|
||||||
rc = -1;
|
rc = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -399,12 +399,12 @@ ssize_t Curl_qsossl_send(struct connectdata * conn, int sockindex, void * mem,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
failf(conn->data, "SSL_Write() I/O error: %s\n", strerror(errno));
|
failf(conn->data, "SSL_Write() I/O error: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* An SSL error. */
|
/* An SSL error. */
|
||||||
failf(conn->data, "SSL_Write() returned error %d\n",
|
failf(conn->data, "SSL_Write() returned error %d",
|
||||||
SSL_Strerror(rc, NULL));
|
SSL_Strerror(rc, NULL));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -442,11 +442,11 @@ ssize_t Curl_qsossl_recv(struct connectdata * conn, int num, char * buf,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
failf(conn->data, "SSL_Read() I/O error: %s\n", strerror(errno));
|
failf(conn->data, "SSL_Read() I/O error: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
failf(conn->data, "SSL read error: %s\n", SSL_Strerror(nread, NULL));
|
failf(conn->data, "SSL read error: %s", SSL_Strerror(nread, NULL));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
@ -733,7 +733,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
failf(data, "Failure initialising sftp session\n");
|
failf(data, "Failure initialising sftp session");
|
||||||
state(conn, SSH_SESSION_FREE);
|
state(conn, SSH_SESSION_FREE);
|
||||||
sshc->actualcode = CURLE_FAILED_INIT;
|
sshc->actualcode = CURLE_FAILED_INIT;
|
||||||
break;
|
break;
|
||||||
|
26
lib/ssluse.c
26
lib/ssluse.c
@ -5,7 +5,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
*
|
*
|
||||||
* This software is licensed as described in the file COPYING, which
|
* This software is licensed as described in the file COPYING, which
|
||||||
* you should have received as part of this distribution. The terms
|
* you should have received as part of this distribution. The terms
|
||||||
@ -426,7 +426,7 @@ int cert_stuff(struct connectdata *conn,
|
|||||||
key_file=cert_file;
|
key_file=cert_file;
|
||||||
case SSL_FILETYPE_ASN1:
|
case SSL_FILETYPE_ASN1:
|
||||||
if(SSL_CTX_use_PrivateKey_file(ctx, key_file, file_type) != 1) {
|
if(SSL_CTX_use_PrivateKey_file(ctx, key_file, file_type) != 1) {
|
||||||
failf(data, "unable to set private key file: '%s' type %s\n",
|
failf(data, "unable to set private key file: '%s' type %s",
|
||||||
key_file, key_type?key_type:"PEM");
|
key_file, key_type?key_type:"PEM");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -440,7 +440,7 @@ int cert_stuff(struct connectdata *conn,
|
|||||||
UI_METHOD *ui_method = UI_OpenSSL();
|
UI_METHOD *ui_method = UI_OpenSSL();
|
||||||
#endif
|
#endif
|
||||||
if(!key_file || !key_file[0]) {
|
if(!key_file || !key_file[0]) {
|
||||||
failf(data, "no key set to load from crypto engine\n");
|
failf(data, "no key set to load from crypto engine");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* the typecast below was added to please mingw32 */
|
/* the typecast below was added to please mingw32 */
|
||||||
@ -451,40 +451,40 @@ int cert_stuff(struct connectdata *conn,
|
|||||||
#endif
|
#endif
|
||||||
data->set.str[STRING_KEY_PASSWD]);
|
data->set.str[STRING_KEY_PASSWD]);
|
||||||
if(!priv_key) {
|
if(!priv_key) {
|
||||||
failf(data, "failed to load private key from crypto engine\n");
|
failf(data, "failed to load private key from crypto engine");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(SSL_CTX_use_PrivateKey(ctx, priv_key) != 1) {
|
if(SSL_CTX_use_PrivateKey(ctx, priv_key) != 1) {
|
||||||
failf(data, "unable to set private key\n");
|
failf(data, "unable to set private key");
|
||||||
EVP_PKEY_free(priv_key);
|
EVP_PKEY_free(priv_key);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EVP_PKEY_free(priv_key); /* we don't need the handle any more... */
|
EVP_PKEY_free(priv_key); /* we don't need the handle any more... */
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
failf(data, "crypto engine not set, can't load private key\n");
|
failf(data, "crypto engine not set, can't load private key");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#else
|
#else
|
||||||
failf(data, "file type ENG for private key not supported\n");
|
failf(data, "file type ENG for private key not supported");
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
case SSL_FILETYPE_PKCS12:
|
case SSL_FILETYPE_PKCS12:
|
||||||
if(!cert_done) {
|
if(!cert_done) {
|
||||||
failf(data, "file type P12 for private key not supported\n");
|
failf(data, "file type P12 for private key not supported");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
failf(data, "not supported file type for private key\n");
|
failf(data, "not supported file type for private key");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssl=SSL_new(ctx);
|
ssl=SSL_new(ctx);
|
||||||
if(NULL == ssl) {
|
if(NULL == ssl) {
|
||||||
failf(data,"unable to create an SSL structure\n");
|
failf(data,"unable to create an SSL structure");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1855,19 +1855,19 @@ ssize_t Curl_ossl_send(struct connectdata *conn,
|
|||||||
equivalent. */
|
equivalent. */
|
||||||
return 0;
|
return 0;
|
||||||
case SSL_ERROR_SYSCALL:
|
case SSL_ERROR_SYSCALL:
|
||||||
failf(conn->data, "SSL_write() returned SYSCALL, errno = %d\n",
|
failf(conn->data, "SSL_write() returned SYSCALL, errno = %d",
|
||||||
SOCKERRNO);
|
SOCKERRNO);
|
||||||
return -1;
|
return -1;
|
||||||
case SSL_ERROR_SSL:
|
case SSL_ERROR_SSL:
|
||||||
/* A failure in the SSL library occurred, usually a protocol error.
|
/* A failure in the SSL library occurred, usually a protocol error.
|
||||||
The OpenSSL error queue contains more information on the error. */
|
The OpenSSL error queue contains more information on the error. */
|
||||||
sslerror = ERR_get_error();
|
sslerror = ERR_get_error();
|
||||||
failf(conn->data, "SSL_write() error: %s\n",
|
failf(conn->data, "SSL_write() error: %s",
|
||||||
ERR_error_string(sslerror, error_buffer));
|
ERR_error_string(sslerror, error_buffer));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
/* a true error */
|
/* a true error */
|
||||||
failf(conn->data, "SSL_write() return error %d\n", err);
|
failf(conn->data, "SSL_write() return error %d", err);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return (ssize_t)rc; /* number of bytes */
|
return (ssize_t)rc; /* number of bytes */
|
||||||
|
30
lib/tftp.c
30
lib/tftp.c
@ -331,7 +331,7 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
state->conn->ip_addr->ai_addr,
|
state->conn->ip_addr->ai_addr,
|
||||||
state->conn->ip_addr->ai_addrlen);
|
state->conn->ip_addr->ai_addrlen);
|
||||||
if(sbytes < 0) {
|
if(sbytes < 0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
}
|
}
|
||||||
Curl_safefree(filename);
|
Curl_safefree(filename);
|
||||||
break;
|
break;
|
||||||
@ -353,7 +353,7 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
failf(state->conn->data, "tftp_send_first: internal error\n");
|
failf(state->conn->data, "tftp_send_first: internal error");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
@ -384,7 +384,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
"Received unexpected DATA packet block %d\n", rblock);
|
"Received unexpected DATA packet block %d\n", rblock);
|
||||||
state->retries++;
|
state->retries++;
|
||||||
if(state->retries>state->retry_max) {
|
if(state->retries>state->retry_max) {
|
||||||
failf(data, "tftp_rx: giving up waiting for block %d\n",
|
failf(data, "tftp_rx: giving up waiting for block %d",
|
||||||
state->block+1);
|
state->block+1);
|
||||||
return CURLE_TFTP_ILLEGAL;
|
return CURLE_TFTP_ILLEGAL;
|
||||||
}
|
}
|
||||||
@ -399,7 +399,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
(struct sockaddr *)&state->remote_addr,
|
(struct sockaddr *)&state->remote_addr,
|
||||||
state->remote_addrlen);
|
state->remote_addrlen);
|
||||||
if(sbytes < 0) {
|
if(sbytes < 0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
return CURLE_SEND_ERROR;
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
state->remote_addrlen);
|
state->remote_addrlen);
|
||||||
/* Check all sbytes were sent */
|
/* Check all sbytes were sent */
|
||||||
if(sbytes<0) {
|
if(sbytes<0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
return CURLE_SEND_ERROR;
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -440,7 +440,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
failf(data, "%s\n", "tftp_rx: internal error");
|
failf(data, "%s", "tftp_rx: internal error");
|
||||||
return CURLE_TFTP_ILLEGAL; /* not really the perfect return code for
|
return CURLE_TFTP_ILLEGAL; /* not really the perfect return code for
|
||||||
this */
|
this */
|
||||||
}
|
}
|
||||||
@ -487,7 +487,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
state->remote_addrlen);
|
state->remote_addrlen);
|
||||||
/* Check all sbytes were sent */
|
/* Check all sbytes were sent */
|
||||||
if(sbytes<0) {
|
if(sbytes<0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
res = CURLE_SEND_ERROR;
|
res = CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -512,7 +512,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
state->remote_addrlen);
|
state->remote_addrlen);
|
||||||
/* Check all sbytes were sent */
|
/* Check all sbytes were sent */
|
||||||
if(sbytes<0) {
|
if(sbytes<0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
return CURLE_SEND_ERROR;
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
/* Update the progress meter */
|
/* Update the progress meter */
|
||||||
@ -538,7 +538,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
state->remote_addrlen);
|
state->remote_addrlen);
|
||||||
/* Check all sbytes were sent */
|
/* Check all sbytes were sent */
|
||||||
if(sbytes<0) {
|
if(sbytes<0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
return CURLE_SEND_ERROR;
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
/* since this was a re-send, we remain at the still byte position */
|
/* since this was a re-send, we remain at the still byte position */
|
||||||
@ -551,7 +551,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
failf(data, "%s\n", "tftp_tx: internal error");
|
failf(data, "%s", "tftp_tx: internal error");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -588,7 +588,7 @@ static CURLcode tftp_state_machine(tftp_state_data_t *state,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
DEBUGF(infof(data, "STATE: %d\n", state->state));
|
DEBUGF(infof(data, "STATE: %d\n", state->state));
|
||||||
failf(data, "%s\n", "Internal state machine error");
|
failf(data, "%s", "Internal state machine error");
|
||||||
res = CURLE_TFTP_ILLEGAL;
|
res = CURLE_TFTP_ILLEGAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -650,7 +650,7 @@ static CURLcode tftp_connect(struct connectdata *conn, bool *done)
|
|||||||
rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr,
|
rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr,
|
||||||
conn->ip_addr->ai_addrlen);
|
conn->ip_addr->ai_addrlen);
|
||||||
if(rc) {
|
if(rc) {
|
||||||
failf(conn->data, "bind() failed; %s\n",
|
failf(conn->data, "bind() failed; %s",
|
||||||
Curl_strerror(conn, SOCKERRNO));
|
Curl_strerror(conn, SOCKERRNO));
|
||||||
return CURLE_COULDNT_CONNECT;
|
return CURLE_COULDNT_CONNECT;
|
||||||
}
|
}
|
||||||
@ -734,7 +734,7 @@ static CURLcode tftp_do(struct connectdata *conn, bool *done)
|
|||||||
if(rc == -1) {
|
if(rc == -1) {
|
||||||
/* bail out */
|
/* bail out */
|
||||||
int error = SOCKERRNO;
|
int error = SOCKERRNO;
|
||||||
failf(data, "%s\n", Curl_strerror(conn, error));
|
failf(data, "%s", Curl_strerror(conn, error));
|
||||||
event = TFTP_EVENT_ERROR;
|
event = TFTP_EVENT_ERROR;
|
||||||
}
|
}
|
||||||
else if(rc==0) {
|
else if(rc==0) {
|
||||||
@ -759,7 +759,7 @@ static CURLcode tftp_do(struct connectdata *conn, bool *done)
|
|||||||
|
|
||||||
/* Sanity check packet length */
|
/* Sanity check packet length */
|
||||||
if(state->rbytes < 4) {
|
if(state->rbytes < 4) {
|
||||||
failf(data, "Received too short packet\n");
|
failf(data, "Received too short packet");
|
||||||
/* Not a timeout, but how best to handle it? */
|
/* Not a timeout, but how best to handle it? */
|
||||||
event = TFTP_EVENT_TIMEOUT;
|
event = TFTP_EVENT_TIMEOUT;
|
||||||
}
|
}
|
||||||
@ -791,7 +791,7 @@ static CURLcode tftp_do(struct connectdata *conn, bool *done)
|
|||||||
case TFTP_EVENT_RRQ:
|
case TFTP_EVENT_RRQ:
|
||||||
case TFTP_EVENT_WRQ:
|
case TFTP_EVENT_WRQ:
|
||||||
default:
|
default:
|
||||||
failf(data, "%s\n", "Internal error: Unexpected packet");
|
failf(data, "%s", "Internal error: Unexpected packet");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp)
|
|||||||
buffersize, conn->fread_in);
|
buffersize, conn->fread_in);
|
||||||
|
|
||||||
if(nread == CURL_READFUNC_ABORT) {
|
if(nread == CURL_READFUNC_ABORT) {
|
||||||
failf(data, "operation aborted by callback\n");
|
failf(data, "operation aborted by callback");
|
||||||
return CURLE_ABORTED_BY_CALLBACK;
|
return CURLE_ABORTED_BY_CALLBACK;
|
||||||
}
|
}
|
||||||
else if(nread == CURL_READFUNC_PAUSE) {
|
else if(nread == CURL_READFUNC_PAUSE) {
|
||||||
@ -250,7 +250,7 @@ CURLcode Curl_readrewind(struct connectdata *conn)
|
|||||||
|
|
||||||
err = (data->set.seek_func)(data->set.seek_client, 0, SEEK_SET);
|
err = (data->set.seek_func)(data->set.seek_client, 0, SEEK_SET);
|
||||||
if(err) {
|
if(err) {
|
||||||
failf(data, "seek callback returned error %d\n", (int)err);
|
failf(data, "seek callback returned error %d", (int)err);
|
||||||
return CURLE_SEND_FAIL_REWIND;
|
return CURLE_SEND_FAIL_REWIND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -263,7 +263,7 @@ CURLcode Curl_readrewind(struct connectdata *conn)
|
|||||||
|
|
||||||
if(err) {
|
if(err) {
|
||||||
/* FIXME: convert to a human readable error message */
|
/* FIXME: convert to a human readable error message */
|
||||||
failf(data, "ioctl callback returned error %d\n", (int)err);
|
failf(data, "ioctl callback returned error %d", (int)err);
|
||||||
return CURLE_SEND_FAIL_REWIND;
|
return CURLE_SEND_FAIL_REWIND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -278,7 +278,7 @@ CURLcode Curl_readrewind(struct connectdata *conn)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* no callback set or failure aboe, makes us fail at once */
|
/* no callback set or failure aboe, makes us fail at once */
|
||||||
failf(data, "necessary data rewind wasn't possible\n");
|
failf(data, "necessary data rewind wasn't possible");
|
||||||
return CURLE_SEND_FAIL_REWIND;
|
return CURLE_SEND_FAIL_REWIND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1818,7 +1818,7 @@ CURLcode Curl_pretransfer(struct SessionHandle *data)
|
|||||||
CURLcode res;
|
CURLcode res;
|
||||||
if(!data->change.url) {
|
if(!data->change.url) {
|
||||||
/* we can't do anything wihout URL */
|
/* we can't do anything wihout URL */
|
||||||
failf(data, "No URL set!\n");
|
failf(data, "No URL set!");
|
||||||
return CURLE_URL_MALFORMAT;
|
return CURLE_URL_MALFORMAT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user