mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
Adjusted to take in account that...
With the curl memory tracking feature decoupled from the debug build feature, CURLDEBUG and DEBUGBUILD preprocessor symbol definitions are used as follows: CURLDEBUG used for curl debug memory tracking specific code (--enable-curldebug) DEBUGBUILD used for debug enabled specific code (--enable-debug)
This commit is contained in:
parent
065047dc62
commit
2c16681225
@ -297,7 +297,7 @@ typedef int sig_atomic_t;
|
|||||||
* Macro used to include code only in debug builds.
|
* Macro used to include code only in debug builds.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
#define DEBUGF(x) x
|
#define DEBUGF(x) x
|
||||||
#else
|
#else
|
||||||
#define DEBUGF(x) do { } while (0)
|
#define DEBUGF(x) do { } while (0)
|
||||||
@ -308,7 +308,7 @@ typedef int sig_atomic_t;
|
|||||||
* Macro used to include assertion code only in debug builds.
|
* Macro used to include assertion code only in debug builds.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(CURLDEBUG) && defined(HAVE_ASSERT_H)
|
#if defined(DEBUGBUILD) && defined(HAVE_ASSERT_H)
|
||||||
#define DEBUGASSERT(x) assert(x)
|
#define DEBUGASSERT(x) assert(x)
|
||||||
#else
|
#else
|
||||||
#define DEBUGASSERT(x) do { } while (0)
|
#define DEBUGASSERT(x) do { } while (0)
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
.\" * | (__| |_| | _ <| |___
|
.\" * | (__| |_| | _ <| |___
|
||||||
.\" * \___|\___/|_| \_\_____|
|
.\" * \___|\___/|_| \_\_____|
|
||||||
.\" *
|
.\" *
|
||||||
.\" * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al.
|
.\" * Copyright (C) 1998 - 2009, 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
|
||||||
@ -21,7 +21,7 @@
|
|||||||
.\" * $Id$
|
.\" * $Id$
|
||||||
.\" **************************************************************************
|
.\" **************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.TH curl_version_info 3 "2 Nov 2006" "libcurl 7.16.1" "libcurl Manual"
|
.TH curl_version_info 3 "10 June 2009" "libcurl 7.19.6" "libcurl Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
curl_version_info - returns run-time libcurl version info
|
curl_version_info - returns run-time libcurl version info
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -105,8 +105,10 @@ supports HTTP NTLM (added in 7.10.6)
|
|||||||
.IP CURL_VERSION_GSSNEGOTIATE
|
.IP CURL_VERSION_GSSNEGOTIATE
|
||||||
supports HTTP GSS-Negotiate (added in 7.10.6)
|
supports HTTP GSS-Negotiate (added in 7.10.6)
|
||||||
.IP CURL_VERSION_DEBUG
|
.IP CURL_VERSION_DEBUG
|
||||||
libcurl was built with extra debug capabilities built-in. This is mainly of
|
libcurl was built with debug capabilities (added in 7.10.6)
|
||||||
interest for libcurl hackers. (added in 7.10.6)
|
.IP CURL_VERSION_CURLDEBUG
|
||||||
|
libcurl was built with memory tracking debug capabilities. This is mainly of
|
||||||
|
interest for libcurl hackers. (added in 7.19.6)
|
||||||
.IP CURL_VERSION_ASYNCHDNS
|
.IP CURL_VERSION_ASYNCHDNS
|
||||||
libcurl was built with support for asynchronous name lookups, which allows
|
libcurl was built with support for asynchronous name lookups, which allows
|
||||||
more exact timeouts (even on Windows) and less blocking when using the multi
|
more exact timeouts (even on Windows) and less blocking when using the multi
|
||||||
|
@ -425,6 +425,7 @@ CURL_TIMECOND_IFUNMODSINCE 7.9.7
|
|||||||
CURL_TIMECOND_LASTMOD 7.9.7
|
CURL_TIMECOND_LASTMOD 7.9.7
|
||||||
CURL_VERSION_ASYNCHDNS 7.10.7
|
CURL_VERSION_ASYNCHDNS 7.10.7
|
||||||
CURL_VERSION_CONV 7.15.4
|
CURL_VERSION_CONV 7.15.4
|
||||||
|
CURL_VERSION_CURLDEBUG 7.19.6
|
||||||
CURL_VERSION_DEBUG 7.10.6
|
CURL_VERSION_DEBUG 7.10.6
|
||||||
CURL_VERSION_GSSNEGOTIATE 7.10.6
|
CURL_VERSION_GSSNEGOTIATE 7.10.6
|
||||||
CURL_VERSION_IDN 7.12.0
|
CURL_VERSION_IDN 7.12.0
|
||||||
|
@ -1786,8 +1786,8 @@ typedef struct {
|
|||||||
#define CURL_VERSION_LARGEFILE (1<<9) /* supports files bigger than 2GB */
|
#define CURL_VERSION_LARGEFILE (1<<9) /* supports files bigger than 2GB */
|
||||||
#define CURL_VERSION_IDN (1<<10) /* International Domain Names support */
|
#define CURL_VERSION_IDN (1<<10) /* International Domain Names support */
|
||||||
#define CURL_VERSION_SSPI (1<<11) /* SSPI is supported */
|
#define CURL_VERSION_SSPI (1<<11) /* SSPI is supported */
|
||||||
#define CURL_VERSION_CONV (1<<12) /* character conversions are
|
#define CURL_VERSION_CONV (1<<12) /* character conversions supported */
|
||||||
supported */
|
#define CURL_VERSION_CURLDEBUG (1<<13) /* debug memory tracking supported */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NAME curl_version_info()
|
* NAME curl_version_info()
|
||||||
|
@ -727,7 +727,7 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
|
|||||||
static void state(struct connectdata *conn,
|
static void state(struct connectdata *conn,
|
||||||
ftpstate newstate)
|
ftpstate newstate)
|
||||||
{
|
{
|
||||||
#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
||||||
/* for debug purposes */
|
/* for debug purposes */
|
||||||
static const char * const names[]={
|
static const char * const names[]={
|
||||||
"STOP",
|
"STOP",
|
||||||
@ -765,7 +765,7 @@ static void state(struct connectdata *conn,
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
struct ftp_conn *ftpc = &conn->proto.ftpc;
|
struct ftp_conn *ftpc = &conn->proto.ftpc;
|
||||||
#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
||||||
if(ftpc->state != newstate)
|
if(ftpc->state != newstate)
|
||||||
infof(conn->data, "FTP %p state change from %s to %s\n",
|
infof(conn->data, "FTP %p state change from %s to %s\n",
|
||||||
ftpc, names[ftpc->state], names[newstate]);
|
ftpc, names[ftpc->state], names[newstate]);
|
||||||
|
@ -210,7 +210,7 @@ Curl_hash_pick(struct curl_hash *h, void *key, size_t key_len)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CURLDEBUG) && defined(AGGRESIVE_TEST)
|
#if defined(DEBUGBUILD) && defined(AGGRESIVE_TEST)
|
||||||
void
|
void
|
||||||
Curl_hash_apply(curl_hash *h, void *user,
|
Curl_hash_apply(curl_hash *h, void *user,
|
||||||
void (*cb)(void *user, void *ptr))
|
void (*cb)(void *user, void *ptr))
|
||||||
|
12
lib/multi.c
12
lib/multi.c
@ -197,7 +197,7 @@ static void moveHandleFromSendToRecvPipeline(struct SessionHandle *habdle,
|
|||||||
static bool isHandleAtHead(struct SessionHandle *handle,
|
static bool isHandleAtHead(struct SessionHandle *handle,
|
||||||
struct curl_llist *pipeline);
|
struct curl_llist *pipeline);
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
static const char * const statename[]={
|
static const char * const statename[]={
|
||||||
"INIT",
|
"INIT",
|
||||||
"CONNECT",
|
"CONNECT",
|
||||||
@ -221,7 +221,7 @@ static const char * const statename[]={
|
|||||||
/* always use this function to change state, to make debugging easier */
|
/* always use this function to change state, to make debugging easier */
|
||||||
static void multistate(struct Curl_one_easy *easy, CURLMstate state)
|
static void multistate(struct Curl_one_easy *easy, CURLMstate state)
|
||||||
{
|
{
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
long connectindex = -5000;
|
long connectindex = -5000;
|
||||||
#endif
|
#endif
|
||||||
CURLMstate oldstate = easy->state;
|
CURLMstate oldstate = easy->state;
|
||||||
@ -232,7 +232,7 @@ static void multistate(struct Curl_one_easy *easy, CURLMstate state)
|
|||||||
|
|
||||||
easy->state = state;
|
easy->state = state;
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
if(easy->state > CURLM_STATE_CONNECT &&
|
if(easy->state > CURLM_STATE_CONNECT &&
|
||||||
easy->state < CURLM_STATE_COMPLETED)
|
easy->state < CURLM_STATE_COMPLETED)
|
||||||
connectindex = easy->easy_conn->connectindex;
|
connectindex = easy->easy_conn->connectindex;
|
||||||
@ -1117,7 +1117,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
|||||||
|
|
||||||
case CURLM_STATE_WAITDO:
|
case CURLM_STATE_WAITDO:
|
||||||
/* Wait for our turn to DO when we're pipelining requests */
|
/* Wait for our turn to DO when we're pipelining requests */
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
infof(easy->easy_handle, "Conn %d send pipe %d inuse %d athead %d\n",
|
infof(easy->easy_handle, "Conn %d send pipe %d inuse %d athead %d\n",
|
||||||
easy->easy_conn->connectindex,
|
easy->easy_conn->connectindex,
|
||||||
easy->easy_conn->send_pipe->size,
|
easy->easy_conn->send_pipe->size,
|
||||||
@ -1253,7 +1253,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
|||||||
multistate(easy, CURLM_STATE_PERFORM);
|
multistate(easy, CURLM_STATE_PERFORM);
|
||||||
result = CURLM_CALL_MULTI_PERFORM;
|
result = CURLM_CALL_MULTI_PERFORM;
|
||||||
}
|
}
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
else {
|
else {
|
||||||
infof(easy->easy_handle, "Conn %d recv pipe %d inuse %d athead %d\n",
|
infof(easy->easy_handle, "Conn %d recv pipe %d inuse %d athead %d\n",
|
||||||
easy->easy_conn->connectindex,
|
easy->easy_conn->connectindex,
|
||||||
@ -2353,7 +2353,7 @@ static void add_closure(struct Curl_multi *multi,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
void Curl_multi_dump(const struct Curl_multi *multi_handle)
|
void Curl_multi_dump(const struct Curl_multi *multi_handle)
|
||||||
{
|
{
|
||||||
struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
|
struct Curl_multi *multi=(struct Curl_multi *)multi_handle;
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1998 - 2009, 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
|
||||||
@ -44,11 +44,11 @@ void Curl_multi_handlePipeBreak(struct SessionHandle *data);
|
|||||||
/* set the bit for the given sock number to make the bitmap for readable */
|
/* set the bit for the given sock number to make the bitmap for readable */
|
||||||
#define GETSOCK_READSOCK(x) (1 << (x))
|
#define GETSOCK_READSOCK(x) (1 << (x))
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
/*
|
/*
|
||||||
* Curl_multi_dump is not a stable public function, this is only meant to
|
* Curl_multi_dump is not a stable public function, this is only meant to
|
||||||
* allow easier tracking of the internal handle's state and what sockets
|
* allow easier tracking of the internal handle's state and what sockets
|
||||||
* they use. Only for research and development CURLDEBUG enabled builds.
|
* they use. Only for research and development DEBUGBUILD enabled builds.
|
||||||
*/
|
*/
|
||||||
void Curl_multi_dump(const struct Curl_multi *multi_handle);
|
void Curl_multi_dump(const struct Curl_multi *multi_handle);
|
||||||
#endif
|
#endif
|
||||||
|
@ -92,7 +92,7 @@ int Curl_parsenetrc(const char *host,
|
|||||||
|
|
||||||
#define NETRC DOT_CHAR "netrc"
|
#define NETRC DOT_CHAR "netrc"
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
{
|
{
|
||||||
/* This is a hack to allow testing.
|
/* This is a hack to allow testing.
|
||||||
* If compiled with --enable-debug and CURL_DEBUG_NETRC is defined,
|
* If compiled with --enable-debug and CURL_DEBUG_NETRC is defined,
|
||||||
@ -106,7 +106,7 @@ int Curl_parsenetrc(const char *host,
|
|||||||
netrc_alloc = TRUE;
|
netrc_alloc = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CURLDEBUG */
|
#endif /* DEBUGBUILD */
|
||||||
if(!netrcfile) {
|
if(!netrcfile) {
|
||||||
home = curl_getenv("HOME"); /* portable environment reader */
|
home = curl_getenv("HOME"); /* portable environment reader */
|
||||||
if(home) {
|
if(home) {
|
||||||
|
@ -304,7 +304,7 @@ typedef int sig_atomic_t;
|
|||||||
* Macro used to include code only in debug builds.
|
* Macro used to include code only in debug builds.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
#define DEBUGF(x) x
|
#define DEBUGF(x) x
|
||||||
#else
|
#else
|
||||||
#define DEBUGF(x) do { } while (0)
|
#define DEBUGF(x) do { } while (0)
|
||||||
@ -315,7 +315,7 @@ typedef int sig_atomic_t;
|
|||||||
* Macro used to include assertion code only in debug builds.
|
* Macro used to include assertion code only in debug builds.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(CURLDEBUG) && defined(HAVE_ASSERT_H)
|
#if defined(DEBUGBUILD) && defined(HAVE_ASSERT_H)
|
||||||
#define DEBUGASSERT(x) assert(x)
|
#define DEBUGASSERT(x) assert(x)
|
||||||
#else
|
#else
|
||||||
#define DEBUGASSERT(x) do { } while (0)
|
#define DEBUGASSERT(x) do { } while (0)
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1997 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1997 - 2009, 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
|
||||||
@ -332,7 +332,7 @@ int Curl_splayremovebyaddr(struct Curl_tree *t,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
|
|
||||||
void Curl_splayprint(struct Curl_tree * t, int d, char output)
|
void Curl_splayprint(struct Curl_tree * t, int d, char output)
|
||||||
{
|
{
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* | (__| |_| | _ <| |___
|
* | (__| |_| | _ <| |___
|
||||||
* \___|\___/|_| \_\_____|
|
* \___|\___/|_| \_\_____|
|
||||||
*
|
*
|
||||||
* Copyright (C) 1997 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
* Copyright (C) 1997 - 2009, 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
|
||||||
@ -57,7 +57,7 @@ int Curl_splayremovebyaddr(struct Curl_tree *t,
|
|||||||
( ((i.tv_usec) < (j.tv_usec)) ? -1 : \
|
( ((i.tv_usec) < (j.tv_usec)) ? -1 : \
|
||||||
( ((i.tv_usec) > (j.tv_usec)) ? 1 : 0 ))))
|
( ((i.tv_usec) > (j.tv_usec)) ? 1 : 0 ))))
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
void Curl_splayprint(struct Curl_tree * t, int d, char output);
|
void Curl_splayprint(struct Curl_tree * t, int d, char output);
|
||||||
#else
|
#else
|
||||||
#define Curl_splayprint(x,y,z)
|
#define Curl_splayprint(x,y,z)
|
||||||
|
@ -301,7 +301,7 @@ static LIBSSH2_FREE_FUNC(libssh2_free)
|
|||||||
/* This is the ONLY way to change SSH state! */
|
/* This is the ONLY way to change SSH state! */
|
||||||
static void state(struct connectdata *conn, sshstate nowstate)
|
static void state(struct connectdata *conn, sshstate nowstate)
|
||||||
{
|
{
|
||||||
#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
||||||
/* for debug purposes */
|
/* for debug purposes */
|
||||||
static const char * const names[] = {
|
static const char * const names[] = {
|
||||||
"SSH_STOP",
|
"SSH_STOP",
|
||||||
@ -358,7 +358,7 @@ static void state(struct connectdata *conn, sshstate nowstate)
|
|||||||
#endif
|
#endif
|
||||||
struct ssh_conn *sshc = &conn->proto.sshc;
|
struct ssh_conn *sshc = &conn->proto.sshc;
|
||||||
|
|
||||||
#if defined(CURLDEBUG) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
|
||||||
if(sshc->state != nowstate) {
|
if(sshc->state != nowstate) {
|
||||||
infof(conn->data, "SFTP %p state change from %s to %s\n",
|
infof(conn->data, "SFTP %p state change from %s to %s\n",
|
||||||
sshc, names[sshc->state], names[nowstate]);
|
sshc, names[sshc->state], names[nowstate]);
|
||||||
|
@ -386,7 +386,7 @@ static void read_rewind(struct connectdata *conn,
|
|||||||
conn->read_pos -= thismuch;
|
conn->read_pos -= thismuch;
|
||||||
conn->bits.stream_was_rewound = TRUE;
|
conn->bits.stream_was_rewound = TRUE;
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
{
|
{
|
||||||
char buf[512 + 1];
|
char buf[512 + 1];
|
||||||
size_t show;
|
size_t show;
|
||||||
|
12
lib/url.c
12
lib/url.c
@ -380,7 +380,7 @@ CURLcode Curl_close(struct SessionHandle *data)
|
|||||||
{
|
{
|
||||||
struct Curl_multi *m = data->multi;
|
struct Curl_multi *m = data->multi;
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
/* only for debugging, scan through all connections and see if there's a
|
/* only for debugging, scan through all connections and see if there's a
|
||||||
pipe reference still identifying this handle */
|
pipe reference still identifying this handle */
|
||||||
|
|
||||||
@ -2310,7 +2310,7 @@ CURLcode Curl_disconnect(struct connectdata *conn)
|
|||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CURLDEBUG) && defined(AGGRESIVE_TEST)
|
#if defined(DEBUGBUILD) && defined(AGGRESIVE_TEST)
|
||||||
/* scan for DNS cache entries still marked as in use */
|
/* scan for DNS cache entries still marked as in use */
|
||||||
Curl_hash_apply(data->hostcache,
|
Curl_hash_apply(data->hostcache,
|
||||||
NULL, Curl_scan_cache_used);
|
NULL, Curl_scan_cache_used);
|
||||||
@ -2431,7 +2431,7 @@ bool Curl_isPipeliningEnabled(const struct SessionHandle *handle)
|
|||||||
CURLcode Curl_addHandleToPipeline(struct SessionHandle *data,
|
CURLcode Curl_addHandleToPipeline(struct SessionHandle *data,
|
||||||
struct curl_llist *pipeline)
|
struct curl_llist *pipeline)
|
||||||
{
|
{
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
if(!IsPipeliningPossible(data)) {
|
if(!IsPipeliningPossible(data)) {
|
||||||
/* when not pipelined, there MUST be no handle in the list already */
|
/* when not pipelined, there MUST be no handle in the list already */
|
||||||
if(pipeline->head)
|
if(pipeline->head)
|
||||||
@ -2514,7 +2514,7 @@ static void signalPipeClose(struct curl_llist *pipeline)
|
|||||||
struct curl_llist_element *next = curr->next;
|
struct curl_llist_element *next = curr->next;
|
||||||
struct SessionHandle *data = (struct SessionHandle *) curr->ptr;
|
struct SessionHandle *data = (struct SessionHandle *) curr->ptr;
|
||||||
|
|
||||||
#ifdef CURLDEBUG /* debug-only code */
|
#ifdef DEBUGBUILD /* debug-only code */
|
||||||
if(data->magic != CURLEASY_MAGIC_NUMBER) {
|
if(data->magic != CURLEASY_MAGIC_NUMBER) {
|
||||||
/* MAJOR BADNESS */
|
/* MAJOR BADNESS */
|
||||||
infof(data, "signalPipeClose() found BAAD easy handle\n");
|
infof(data, "signalPipeClose() found BAAD easy handle\n");
|
||||||
@ -2596,7 +2596,7 @@ ConnectionExists(struct SessionHandle *data,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
if(pipeLen > MAX_PIPELINE_LENGTH) {
|
if(pipeLen > MAX_PIPELINE_LENGTH) {
|
||||||
infof(data, "BAD! Connection #%ld has too big pipeline!\n",
|
infof(data, "BAD! Connection #%ld has too big pipeline!\n",
|
||||||
check->connectindex);
|
check->connectindex);
|
||||||
@ -2626,7 +2626,7 @@ ConnectionExists(struct SessionHandle *data,
|
|||||||
get closed. */
|
get closed. */
|
||||||
infof(data, "Connection #%ld isn't open enough, can't reuse\n",
|
infof(data, "Connection #%ld isn't open enough, can't reuse\n",
|
||||||
check->connectindex);
|
check->connectindex);
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
if(check->recv_pipe->size > 0) {
|
if(check->recv_pipe->size > 0) {
|
||||||
infof(data, "BAD! Unconnected #%ld has a non-empty recv pipeline!\n",
|
infof(data, "BAD! Unconnected #%ld has a non-empty recv pipeline!\n",
|
||||||
check->connectindex);
|
check->connectindex);
|
||||||
|
@ -188,9 +188,12 @@ static curl_version_info_data version_info = {
|
|||||||
#ifdef HAVE_GSSAPI
|
#ifdef HAVE_GSSAPI
|
||||||
| CURL_VERSION_GSSNEGOTIATE
|
| CURL_VERSION_GSSNEGOTIATE
|
||||||
#endif
|
#endif
|
||||||
#ifdef CURLDEBUG
|
#ifdef DEBUGBUILD
|
||||||
| CURL_VERSION_DEBUG
|
| CURL_VERSION_DEBUG
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CURLDEBUG
|
||||||
|
| CURL_VERSION_CURLDEBUG
|
||||||
|
#endif
|
||||||
#ifdef USE_ARES
|
#ifdef USE_ARES
|
||||||
| CURL_VERSION_ASYNCHDNS
|
| CURL_VERSION_ASYNCHDNS
|
||||||
#endif
|
#endif
|
||||||
|
@ -96,6 +96,8 @@
|
|||||||
d c X'00000800'
|
d c X'00000800'
|
||||||
d CURL_VERSION_CONV...
|
d CURL_VERSION_CONV...
|
||||||
d c X'00001000'
|
d c X'00001000'
|
||||||
|
d CURL_VERSION_CURLDEBUG...
|
||||||
|
d c X'00002000'
|
||||||
*
|
*
|
||||||
d HTTPPOST_FILENAME...
|
d HTTPPOST_FILENAME...
|
||||||
d c X'00000001'
|
d c X'00000001'
|
||||||
|
@ -2857,6 +2857,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
static const struct feat feats[] = {
|
static const struct feat feats[] = {
|
||||||
{"AsynchDNS", CURL_VERSION_ASYNCHDNS},
|
{"AsynchDNS", CURL_VERSION_ASYNCHDNS},
|
||||||
{"Debug", CURL_VERSION_DEBUG},
|
{"Debug", CURL_VERSION_DEBUG},
|
||||||
|
{"TrackMemory", CURL_VERSION_CURLDEBUG},
|
||||||
{"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE},
|
{"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE},
|
||||||
{"IDN", CURL_VERSION_IDN},
|
{"IDN", CURL_VERSION_IDN},
|
||||||
{"IPv6", CURL_VERSION_IPV6},
|
{"IPv6", CURL_VERSION_IPV6},
|
||||||
|
@ -152,8 +152,8 @@ my $SOCKSPIDFILE=".socks.pid";
|
|||||||
my $perl="perl -I$srcdir";
|
my $perl="perl -I$srcdir";
|
||||||
my $server_response_maxtime=13;
|
my $server_response_maxtime=13;
|
||||||
|
|
||||||
# this gets set if curl is compiled with debugging:
|
my $debug_build=0; # curl built with --enable-debug
|
||||||
my $curl_debug=0;
|
my $curl_debug=0; # curl built with --enable-curldebug (memory tracking)
|
||||||
my $libtool;
|
my $libtool;
|
||||||
|
|
||||||
# name of the file that the memory debugging creates:
|
# name of the file that the memory debugging creates:
|
||||||
@ -1554,9 +1554,13 @@ sub checksystem {
|
|||||||
}
|
}
|
||||||
elsif($_ =~ /^Features: (.*)/i) {
|
elsif($_ =~ /^Features: (.*)/i) {
|
||||||
$feat = $1;
|
$feat = $1;
|
||||||
if($feat =~ /debug/i) {
|
if($feat =~ /TrackMemory/i) {
|
||||||
# debug is a listed "feature", use that knowledge
|
# curl was built with --enable-curldebug (memory tracking)
|
||||||
$curl_debug = 1;
|
$curl_debug = 1;
|
||||||
|
}
|
||||||
|
if($feat =~ /debug/i) {
|
||||||
|
# curl was built with --enable-debug
|
||||||
|
$debug_build = 1;
|
||||||
# set the NETRC debug env
|
# set the NETRC debug env
|
||||||
$ENV{'CURL_DEBUG_NETRC'} = "$LOGDIR/netrc";
|
$ENV{'CURL_DEBUG_NETRC'} = "$LOGDIR/netrc";
|
||||||
}
|
}
|
||||||
@ -1639,7 +1643,7 @@ sub checksystem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!$curl_debug && $torture) {
|
if(!$curl_debug && $torture) {
|
||||||
die "can't run torture tests since curl was not build with debug";
|
die "can't run torture tests since curl was not built with curldebug";
|
||||||
}
|
}
|
||||||
|
|
||||||
# curl doesn't list cryptographic support separately, so assume it's
|
# curl doesn't list cryptographic support separately, so assume it's
|
||||||
@ -1658,7 +1662,8 @@ sub checksystem {
|
|||||||
|
|
||||||
logmsg sprintf("* Server SSL: %s\n", $stunnel?"ON":"OFF");
|
logmsg sprintf("* Server SSL: %s\n", $stunnel?"ON":"OFF");
|
||||||
logmsg sprintf("* libcurl SSL: %s\n", $ssl_version?"ON":"OFF");
|
logmsg sprintf("* libcurl SSL: %s\n", $ssl_version?"ON":"OFF");
|
||||||
logmsg sprintf("* libcurl debug: %s\n", $curl_debug?"ON":"OFF");
|
logmsg sprintf("* debug build: %s\n", $debug_build?"ON":"OFF");
|
||||||
|
logmsg sprintf("* track memory: %s\n", $curl_debug?"ON":"OFF");
|
||||||
logmsg sprintf("* valgrind: %s\n", $valgrind?"ON":"OFF");
|
logmsg sprintf("* valgrind: %s\n", $valgrind?"ON":"OFF");
|
||||||
logmsg sprintf("* HTTP IPv6 %s\n", $http_ipv6?"ON":"OFF");
|
logmsg sprintf("* HTTP IPv6 %s\n", $http_ipv6?"ON":"OFF");
|
||||||
logmsg sprintf("* FTP IPv6 %s\n", $ftp_ipv6?"ON":"OFF");
|
logmsg sprintf("* FTP IPv6 %s\n", $ftp_ipv6?"ON":"OFF");
|
||||||
@ -1795,7 +1800,7 @@ sub singletest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif($f eq "netrc_debug") {
|
elsif($f eq "netrc_debug") {
|
||||||
if($curl_debug) {
|
if($debug_build) {
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user