aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES4
-rw-r--r--RELEASE-NOTES1
-rw-r--r--lib/ftp.c4
-rw-r--r--lib/krb4.c4
-rw-r--r--lib/nss.c12
-rw-r--r--lib/qssl.c28
-rw-r--r--lib/ssh.c4
-rw-r--r--lib/ssluse.c26
-rw-r--r--lib/tftp.c30
-rw-r--r--lib/transfer.c10
10 files changed, 64 insertions, 59 deletions
diff --git a/CHANGES b/CHANGES
index ffbfdcf8d..a85b6f5ea 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
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)
- 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
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 10d05e71f..2087a4487 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -53,6 +53,7 @@ This release includes the following bugfixes:
o curl-config --libs skips /usr/lib64
o range support for file:// transfers
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:
diff --git a/lib/ftp.c b/lib/ftp.c
index 931aba479..fae07c9f7 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -934,7 +934,7 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
rc = getnameinfo((struct sockaddr *)&ss, sslen, hbuf, sizeof(hbuf), NULL,
0, NIFLAGS);
if(rc) {
- failf(data, "getnameinfo() returned %d \n", rc);
+ failf(data, "getnameinfo() returned %d", rc);
return CURLE_FTP_PORT_FAILED;
}
host = hbuf; /* use this host name */
@@ -2630,7 +2630,7 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
ftpc->count1 = 1;
break;
default:
- failf(data, "unsupported parameter to CURLOPT_FTPSSLAUTH: %d\n",
+ failf(data, "unsupported parameter to CURLOPT_FTPSSLAUTH: %d",
data->set.ftpsslauth);
return CURLE_FAILED_INIT; /* we don't know what to do */
}
diff --git a/lib/krb4.c b/lib/krb4.c
index 3a8f01ae8..4ea21e2cb 100644
--- a/lib/krb4.c
+++ b/lib/krb4.c
@@ -7,7 +7,7 @@
*
* Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan
* (Royal Institute of Technology, Stockholm, Sweden).
- * Copyright (c) 2004 - 2007 Daniel Stenberg
+ * Copyright (c) 2004 - 2008 Daniel Stenberg
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -362,7 +362,7 @@ CURLcode Curl_krb_kauth(struct connectdata *conn)
tmp=0;
}
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);
return CURLE_FTP_WEIRD_SERVER_REPLY;
}
diff --git a/lib/nss.c b/lib/nss.c
index dcf955b15..b8f2ddd5c 100644
--- a/lib/nss.c
+++ b/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
* 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) {
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;
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;
default:
break;
@@ -521,10 +521,10 @@ static SECStatus nss_Init_Tokens(struct connectdata * conn)
if(PK11_NeedLogin(slot) && PK11_NeedUserInit(slot)) {
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 {
- failf(conn->data, "The token %s has not been initialized.",
+ failf(conn->data, "The token %s has not been initialized",
PK11_GetTokenName(slot));
}
PK11_FreeSlot(slot);
@@ -1057,7 +1057,7 @@ int Curl_nss_send(struct connectdata *conn, /* connection data */
return CURLE_OPERATION_TIMEDOUT;
}
- failf(conn->data, "SSL write: error %d\n", err);
+ failf(conn->data, "SSL write: error %d", err);
return -1;
}
return rc; /* number of bytes */
diff --git a/lib/qssl.c b/lib/qssl.c
index c70c4b2b4..4ced8b744 100644
--- a/lib/qssl.c
+++ b/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
* 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;
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;
case SSL_ERROR_BAD_CIPHER_SUITE:
@@ -125,7 +125,7 @@ static CURLcode Curl_qsossl_init_session(struct SessionHandle * data)
return CURLE_SSL_CERTPROBLEM;
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;
}
@@ -142,9 +142,9 @@ static CURLcode Curl_qsossl_create(struct connectdata * conn, int sockindex)
h = SSL_Create(conn->sock[sockindex], SSL_ENCRYPT);
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;
- }
+ }
connssl->handle = h;
return CURLE_OK;
@@ -232,11 +232,11 @@ static CURLcode Curl_qsossl_handshake(struct connectdata * conn, int sockindex)
return CURLE_SSL_CERTPROBLEM;
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;
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;
}
@@ -282,12 +282,12 @@ static int Curl_qsossl_close_one(struct ssl_connect_data * conn,
if(rc) {
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;
}
/* 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;
}
@@ -359,7 +359,7 @@ int Curl_qsossl_shutdown(struct connectdata * conn, int sockindex)
nread = read(conn->sock[sockindex], buf, sizeof(buf));
if(nread < 0) {
- failf(data, "read: %s\n", strerror(errno));
+ failf(data, "read: %s", strerror(errno));
rc = -1;
}
@@ -399,12 +399,12 @@ ssize_t Curl_qsossl_send(struct connectdata * conn, int sockindex, void * mem,
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;
}
/* An SSL error. */
- failf(conn->data, "SSL_Write() returned error %d\n",
+ failf(conn->data, "SSL_Write() returned error %d",
SSL_Strerror(rc, NULL));
return -1;
}
@@ -442,11 +442,11 @@ ssize_t Curl_qsossl_recv(struct connectdata * conn, int num, char * buf,
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;
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;
}
}
diff --git a/lib/ssh.c b/lib/ssh.c
index 2d0271898..7bebefc74 100644
--- a/lib/ssh.c
+++ b/lib/ssh.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
* you should have received as part of this distribution. The terms
@@ -733,7 +733,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn)
break;
}
else {
- failf(data, "Failure initialising sftp session\n");
+ failf(data, "Failure initialising sftp session");
state(conn, SSH_SESSION_FREE);
sshc->actualcode = CURLE_FAILED_INIT;
break;
diff --git a/lib/ssluse.c b/lib/ssluse.c
index 188edf2d7..0083a4153 100644
--- a/lib/ssluse.c
+++ b/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
* 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;
case SSL_FILETYPE_ASN1:
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");
return 0;
}
@@ -440,7 +440,7 @@ int cert_stuff(struct connectdata *conn,
UI_METHOD *ui_method = UI_OpenSSL();
#endif
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;
}
/* the typecast below was added to please mingw32 */
@@ -451,40 +451,40 @@ int cert_stuff(struct connectdata *conn,
#endif
data->set.str[STRING_KEY_PASSWD]);
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;
}
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);
return 0;
}
EVP_PKEY_free(priv_key); /* we don't need the handle any more... */
}
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;
}
}
break;
#else
- failf(data, "file type ENG for private key not supported\n");
+ failf(data, "file type ENG for private key not supported");
return 0;
#endif
case SSL_FILETYPE_PKCS12:
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;
}
break;
default:
- failf(data, "not supported file type for private key\n");
+ failf(data, "not supported file type for private key");
return 0;
}
ssl=SSL_new(ctx);
if(NULL == ssl) {
- failf(data,"unable to create an SSL structure\n");
+ failf(data,"unable to create an SSL structure");
return 0;
}
@@ -1855,19 +1855,19 @@ ssize_t Curl_ossl_send(struct connectdata *conn,
equivalent. */
return 0;
case SSL_ERROR_SYSCALL:
- failf(conn->data, "SSL_write() returned SYSCALL, errno = %d\n",
+ failf(conn->data, "SSL_write() returned SYSCALL, errno = %d",
SOCKERRNO);
return -1;
case SSL_ERROR_SSL:
/* A failure in the SSL library occurred, usually a protocol error.
The OpenSSL error queue contains more information on the 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));
return -1;
}
/* 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 (ssize_t)rc; /* number of bytes */
diff --git a/lib/tftp.c b/lib/tftp.c
index 69e3aba13..94e5fc3fe 100644
--- a/lib/tftp.c
+++ b/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_addrlen);
if(sbytes < 0) {
- failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
+ failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
}
Curl_safefree(filename);
break;
@@ -353,7 +353,7 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
break;
default:
- failf(state->conn->data, "tftp_send_first: internal error\n");
+ failf(state->conn->data, "tftp_send_first: internal error");
break;
}
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);
state->retries++;
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);
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,
state->remote_addrlen);
if(sbytes < 0) {
- failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
+ failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
return CURLE_SEND_ERROR;
}
@@ -429,7 +429,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
state->remote_addrlen);
/* Check all sbytes were sent */
if(sbytes<0) {
- failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
+ failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
return CURLE_SEND_ERROR;
}
}
@@ -440,7 +440,7 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
break;
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
this */
}
@@ -487,7 +487,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
state->remote_addrlen);
/* Check all sbytes were sent */
if(sbytes<0) {
- failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
+ failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
res = CURLE_SEND_ERROR;
}
}
@@ -512,7 +512,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
state->remote_addrlen);
/* Check all sbytes were sent */
if(sbytes<0) {
- failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
+ failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
return CURLE_SEND_ERROR;
}
/* Update the progress meter */
@@ -538,7 +538,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
state->remote_addrlen);
/* Check all sbytes were sent */
if(sbytes<0) {
- failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
+ failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
return CURLE_SEND_ERROR;
}
/* 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;
default:
- failf(data, "%s\n", "tftp_tx: internal error");
+ failf(data, "%s", "tftp_tx: internal error");
break;
}
@@ -588,7 +588,7 @@ static CURLcode tftp_state_machine(tftp_state_data_t *state,
break;
default:
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;
break;
}
@@ -650,7 +650,7 @@ static CURLcode tftp_connect(struct connectdata *conn, bool *done)
rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr,
conn->ip_addr->ai_addrlen);
if(rc) {
- failf(conn->data, "bind() failed; %s\n",
+ failf(conn->data, "bind() failed; %s",
Curl_strerror(conn, SOCKERRNO));
return CURLE_COULDNT_CONNECT;
}
@@ -734,7 +734,7 @@ static CURLcode tftp_do(struct connectdata *conn, bool *done)
if(rc == -1) {
/* bail out */
int error = SOCKERRNO;
- failf(data, "%s\n", Curl_strerror(conn, error));
+ failf(data, "%s", Curl_strerror(conn, error));
event = TFTP_EVENT_ERROR;
}
else if(rc==0) {
@@ -759,7 +759,7 @@ static CURLcode tftp_do(struct connectdata *conn, bool *done)
/* Sanity check packet length */
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? */
event = TFTP_EVENT_TIMEOUT;
}
@@ -791,7 +791,7 @@ static CURLcode tftp_do(struct connectdata *conn, bool *done)
case TFTP_EVENT_RRQ:
case TFTP_EVENT_WRQ:
default:
- failf(data, "%s\n", "Internal error: Unexpected packet");
+ failf(data, "%s", "Internal error: Unexpected packet");
break;
}
diff --git a/lib/transfer.c b/lib/transfer.c
index 512eceff0..eb7583c08 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -131,7 +131,7 @@ CURLcode Curl_fillreadbuffer(struct connectdata *conn, int bytes, int *nreadp)
buffersize, conn->fread_in);
if(nread == CURL_READFUNC_ABORT) {
- failf(data, "operation aborted by callback\n");
+ failf(data, "operation aborted by callback");
return CURLE_ABORTED_BY_CALLBACK;
}
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);
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;
}
}
@@ -263,7 +263,7 @@ CURLcode Curl_readrewind(struct connectdata *conn)
if(err) {
/* 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;
}
}
@@ -278,7 +278,7 @@ CURLcode Curl_readrewind(struct connectdata *conn)
}
/* 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;
}
}
@@ -1818,7 +1818,7 @@ CURLcode Curl_pretransfer(struct SessionHandle *data)
CURLcode res;
if(!data->change.url) {
/* we can't do anything wihout URL */
- failf(data, "No URL set!\n");
+ failf(data, "No URL set!");
return CURLE_URL_MALFORMAT;
}