Compare commits
23 Commits
curl-7_7-b
...
curl-7_7-b
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1841c8ee6a | ||
![]() |
70793595fe | ||
![]() |
28a8e1602d | ||
![]() |
cce05b9138 | ||
![]() |
72a7fd4dc7 | ||
![]() |
9a6a476cf5 | ||
![]() |
5d0efedd2d | ||
![]() |
a426818a78 | ||
![]() |
bfe413d8bd | ||
![]() |
dbbd20646f | ||
![]() |
b8fe4deb13 | ||
![]() |
332a016e3c | ||
![]() |
3738e4bdc0 | ||
![]() |
3201d2dafa | ||
![]() |
0a1e002ca4 | ||
![]() |
9195bb64d4 | ||
![]() |
11ee547a0e | ||
![]() |
147de35d41 | ||
![]() |
e16e9b91ae | ||
![]() |
f9cde0646f | ||
![]() |
195233ed5c | ||
![]() |
048e654514 | ||
![]() |
dfbd45142d |
32
CHANGES
32
CHANGES
@@ -7,6 +7,38 @@
|
|||||||
History of Changes
|
History of Changes
|
||||||
|
|
||||||
|
|
||||||
|
Daniel (14 March 2001)
|
||||||
|
- Bj<42>rn Stenberg provided similar fixes as J<>rn did and some additional patches
|
||||||
|
for non-SSL compiles.
|
||||||
|
|
||||||
|
- I increased the interface number for libcurl as I've removed the low level
|
||||||
|
functions from the interface. I also took this opportunity to rename the
|
||||||
|
Curl_strequal function to curl_strequal and Curl_strnequal to
|
||||||
|
curl_strnequal, as they're public libcurl functions (even if they're still
|
||||||
|
undocumented).
|
||||||
|
|
||||||
|
This will make older programs not capable of using the new libcurl with
|
||||||
|
just a drop-in replacement.
|
||||||
|
|
||||||
|
- J<>rn Hartroth updated stuff for win32 compiles:
|
||||||
|
o config-win32.h was fixed for socklen_t
|
||||||
|
o lib/ssluse.c had a bad #endif placement
|
||||||
|
o lib/file.c was made to compile on win32 again
|
||||||
|
o lib/Makefile.m32 was updated with the new files
|
||||||
|
o lib/libcurl.def matches the current interface state
|
||||||
|
|
||||||
|
Daniel (13 March 2001)
|
||||||
|
- It only took an hour or so before J<>rn Hartroth found a problem in the
|
||||||
|
chunked transfer-encoding. Given his fine example-site, I could easily spot
|
||||||
|
the problem and when I re-read the spec (the part I have pasted in the top
|
||||||
|
of the http_chunks.h file), I realized I had made my state-machine slightly
|
||||||
|
wrong and didn't expect/handle the trailing CRLF that comes after the data
|
||||||
|
in each chunk (and those extra two bytes sure feel wasted).
|
||||||
|
|
||||||
|
Had to modify test case 34 to match this as well.
|
||||||
|
|
||||||
|
Version 7.7-beta2
|
||||||
|
|
||||||
Daniel (13 March 2001)
|
Daniel (13 March 2001)
|
||||||
- Added the policy stuff to the curl_easy_setopt man page for the two supported
|
- Added the policy stuff to the curl_easy_setopt man page for the two supported
|
||||||
policies.
|
policies.
|
||||||
|
@@ -26,6 +26,9 @@
|
|||||||
/* Define this to 'int' if ssize_t is not an available typedefed type */
|
/* Define this to 'int' if ssize_t is not an available typedefed type */
|
||||||
#define ssize_t int
|
#define ssize_t int
|
||||||
|
|
||||||
|
/* Define this to 'int' if socklen_t is not an available typedefed type */
|
||||||
|
#define socklen_t int
|
||||||
|
|
||||||
/* Define if you have the ANSI C header files. */
|
/* Define if you have the ANSI C header files. */
|
||||||
#define STDC_HEADERS 1
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
|
12
docs/TODO
12
docs/TODO
@@ -11,11 +11,6 @@ TODO
|
|||||||
|
|
||||||
To do for the 7.7 release:
|
To do for the 7.7 release:
|
||||||
|
|
||||||
* Fix the random seeding. Add --egd-socket and --random-file options to the
|
|
||||||
curl client and libcurl curl_easy_setopt() interface.
|
|
||||||
|
|
||||||
* Support persistant connections (fully detailed elsewhere)
|
|
||||||
|
|
||||||
* Add a special connection-timeout that only goes for the connection phase.
|
* Add a special connection-timeout that only goes for the connection phase.
|
||||||
|
|
||||||
To do for the 7.8 release:
|
To do for the 7.8 release:
|
||||||
@@ -23,7 +18,12 @@ To do for the 7.8 release:
|
|||||||
* Make SSL session ids get used if multiple HTTPS documents from the same
|
* Make SSL session ids get used if multiple HTTPS documents from the same
|
||||||
host is requested.
|
host is requested.
|
||||||
|
|
||||||
To do in a future release:
|
To do in a future release (random order):
|
||||||
|
|
||||||
|
* Document the undocumented libcurl functions: the printf clones (like
|
||||||
|
curl_msprintf, curl_mfprintf, curl_msnprintf, curl_maprintf and
|
||||||
|
curl_mvfprintf), the string compare functions (curl_strequal
|
||||||
|
and curl_strnequal) and the URL escape/unescape functions.
|
||||||
|
|
||||||
* Add configure options that disables certain protocols in libcurl to
|
* Add configure options that disables certain protocols in libcurl to
|
||||||
decrease footprint. '--disable-[protocol]' where protocol is http, ftp,
|
decrease footprint. '--disable-[protocol]' where protocol is http, ftp,
|
||||||
|
@@ -450,10 +450,10 @@ typedef enum {
|
|||||||
|
|
||||||
NOTE: they return TRUE if the strings match *case insensitively*.
|
NOTE: they return TRUE if the strings match *case insensitively*.
|
||||||
*/
|
*/
|
||||||
extern int (Curl_strequal)(const char *s1, const char *s2);
|
extern int (curl_strequal)(const char *s1, const char *s2);
|
||||||
extern int (Curl_strnequal)(const char *s1, const char *s2, size_t n);
|
extern int (curl_strnequal)(const char *s1, const char *s2, size_t n);
|
||||||
#define strequal(a,b) Curl_strequal(a,b)
|
#define strequal(a,b) curl_strequal(a,b)
|
||||||
#define strnequal(a,b,c) Curl_strnequal(a,b,c)
|
#define strnequal(a,b,c) curl_strnequal(a,b,c)
|
||||||
|
|
||||||
/* external form function */
|
/* external form function */
|
||||||
int curl_formparse(char *string,
|
int curl_formparse(char *string,
|
||||||
@@ -471,7 +471,7 @@ char *curl_getenv(char *variable);
|
|||||||
char *curl_version(void);
|
char *curl_version(void);
|
||||||
|
|
||||||
/* This is the version number */
|
/* This is the version number */
|
||||||
#define LIBCURL_VERSION "7.7-beta2"
|
#define LIBCURL_VERSION "7.7-beta3"
|
||||||
#define LIBCURL_VERSION_NUM 0x070700
|
#define LIBCURL_VERSION_NUM 0x070700
|
||||||
|
|
||||||
/* linked-list structure for the CURLOPT_QUOTE option (and other) */
|
/* linked-list structure for the CURLOPT_QUOTE option (and other) */
|
||||||
|
@@ -16,7 +16,7 @@ lib_LTLIBRARIES = libcurl.la
|
|||||||
INCLUDES = -I$(top_srcdir)/include
|
INCLUDES = -I$(top_srcdir)/include
|
||||||
|
|
||||||
|
|
||||||
libcurl_la_LDFLAGS = -version-info 1:0:0
|
libcurl_la_LDFLAGS = -version-info 2:0:0
|
||||||
# This flag accepts an argument of the form current[:revision[:age]]. So,
|
# This flag accepts an argument of the form current[:revision[:age]]. So,
|
||||||
# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
|
# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
|
||||||
# 1.
|
# 1.
|
||||||
|
@@ -33,13 +33,13 @@ libcurl_a_SOURCES = arpa_telnet.h file.c getpass.h netrc.h timeval.c base64.c \
|
|||||||
urldata.h transfer.c getdate.h ldap.c ssluse.c version.c transfer.h getenv.c \
|
urldata.h transfer.c getdate.h ldap.c ssluse.c version.c transfer.h getenv.c \
|
||||||
ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c \
|
ldap.h ssluse.h escape.c getenv.h mprintf.c telnet.c escape.h getpass.c netrc.c \
|
||||||
telnet.h getinfo.c strequal.c strequal.h easy.c security.h \
|
telnet.h getinfo.c strequal.c strequal.h easy.c security.h \
|
||||||
security.c krb4.c
|
security.c krb4.h krb4.c memdebug.h memdebug.c inet_ntoa_r.h http_chunks.h http_chunks.c
|
||||||
|
|
||||||
libcurl_a_OBJECTS = file.o timeval.o base64.o hostip.o progress.o \
|
libcurl_a_OBJECTS = file.o timeval.o base64.o hostip.o progress.o \
|
||||||
formdata.o cookie.o http.o sendf.o ftp.o url.o dict.o if2ip.o \
|
formdata.o cookie.o http.o sendf.o ftp.o url.o dict.o if2ip.o \
|
||||||
speedcheck.o getdate.o transfer.o ldap.o ssluse.o version.o \
|
speedcheck.o getdate.o transfer.o ldap.o ssluse.o version.o \
|
||||||
getenv.o escape.o mprintf.o telnet.o getpass.o netrc.o getinfo.o \
|
getenv.o escape.o mprintf.o telnet.o getpass.o netrc.o getinfo.o \
|
||||||
strequal.o easy.o security.o krb4.o
|
strequal.o easy.o security.o krb4.o memdebug.o http_chunks.o
|
||||||
|
|
||||||
LIBRARIES = $(libcurl_a_LIBRARIES)
|
LIBRARIES = $(libcurl_a_LIBRARIES)
|
||||||
SOURCES = $(libcurl_a_SOURCES)
|
SOURCES = $(libcurl_a_SOURCES)
|
||||||
|
@@ -97,6 +97,9 @@ CURLcode Curl_file_connect(struct connectdata *conn)
|
|||||||
char *actual_path = curl_unescape(conn->path, 0);
|
char *actual_path = curl_unescape(conn->path, 0);
|
||||||
struct FILE *file;
|
struct FILE *file;
|
||||||
int fd;
|
int fd;
|
||||||
|
#if defined(WIN32) || defined(__EMX__)
|
||||||
|
int i;
|
||||||
|
#endif
|
||||||
|
|
||||||
file = (struct FILE *)malloc(sizeof(struct FILE));
|
file = (struct FILE *)malloc(sizeof(struct FILE));
|
||||||
if(!file)
|
if(!file)
|
||||||
@@ -106,8 +109,6 @@ CURLcode Curl_file_connect(struct connectdata *conn)
|
|||||||
conn->proto.file = file;
|
conn->proto.file = file;
|
||||||
|
|
||||||
#if defined(WIN32) || defined(__EMX__)
|
#if defined(WIN32) || defined(__EMX__)
|
||||||
int i;
|
|
||||||
|
|
||||||
/* change path separators from '/' to '\\' for Windows and OS/2 */
|
/* change path separators from '/' to '\\' for Windows and OS/2 */
|
||||||
for (i=0; actual_path[i] != '\0'; ++i)
|
for (i=0; actual_path[i] != '\0'; ++i)
|
||||||
if (actual_path[i] == '/')
|
if (actual_path[i] == '/')
|
||||||
|
@@ -181,10 +181,34 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
|
|||||||
length -= piece; /* decrease space left in this round */
|
length -= piece; /* decrease space left in this round */
|
||||||
|
|
||||||
if(0 == ch->datasize)
|
if(0 == ch->datasize)
|
||||||
/* end of data this round, go back to get a new size */
|
/* end of data this round, we now expect a trailing CRLF */
|
||||||
Curl_httpchunk_init(conn);
|
ch->state = CHUNK_POSTCR;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CHUNK_POSTCR:
|
||||||
|
if(*datap == '\r') {
|
||||||
|
ch->state = CHUNK_POSTLF;
|
||||||
|
datap++;
|
||||||
|
length--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return CHUNKE_BAD_CHUNK;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CHUNK_POSTLF:
|
||||||
|
if(*datap == '\n') {
|
||||||
|
/*
|
||||||
|
* The last one before we go back to hex state and start all
|
||||||
|
* over.
|
||||||
|
*/
|
||||||
|
Curl_httpchunk_init(conn);
|
||||||
|
datap++;
|
||||||
|
length--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return CHUNKE_BAD_CHUNK;
|
||||||
|
break;
|
||||||
|
|
||||||
case CHUNK_STOP:
|
case CHUNK_STOP:
|
||||||
/* If we arrive here, there is data left in the end of the buffer
|
/* If we arrive here, there is data left in the end of the buffer
|
||||||
even if there's no more chunks to read */
|
even if there's no more chunks to read */
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
#define MAXNUM_SIZE 16
|
#define MAXNUM_SIZE 16
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
CHUNK_LOST, /* never use */
|
CHUNK_FIRST, /* never use */
|
||||||
|
|
||||||
/* In this we await and buffer all hexadecimal digits until we get one
|
/* In this we await and buffer all hexadecimal digits until we get one
|
||||||
that isn't a hexadecimal digit. When done, we go POSTHEX */
|
that isn't a hexadecimal digit. When done, we go POSTHEX */
|
||||||
@@ -45,10 +45,17 @@ typedef enum {
|
|||||||
If the size given was zero, we set state to STOP and return. */
|
If the size given was zero, we set state to STOP and return. */
|
||||||
CHUNK_CR,
|
CHUNK_CR,
|
||||||
|
|
||||||
/* We eat the amount of data specified. When done, we move back to the
|
/* We eat the amount of data specified. When done, we move on to the
|
||||||
HEX state. */
|
POST_CR state. */
|
||||||
CHUNK_DATA,
|
CHUNK_DATA,
|
||||||
|
|
||||||
|
/* POSTCR should get a CR and nothing else, then move to POSTLF */
|
||||||
|
CHUNK_POSTCR,
|
||||||
|
|
||||||
|
/* POSTLF should get a LF and nothing else, then move back to HEX as
|
||||||
|
the CRLF combination marks the end of a chunk */
|
||||||
|
CHUNK_POSTLF,
|
||||||
|
|
||||||
/* This is mainly used to really mark that we're out of the game.
|
/* This is mainly used to really mark that we're out of the game.
|
||||||
NOTE: that there's a 'dataleft' field in the struct that will tell how
|
NOTE: that there's a 'dataleft' field in the struct that will tell how
|
||||||
many bytes that were not passed to the client in the end of the last
|
many bytes that were not passed to the client in the end of the last
|
||||||
@@ -63,6 +70,7 @@ typedef enum {
|
|||||||
CHUNKE_OK = 0,
|
CHUNKE_OK = 0,
|
||||||
CHUNKE_TOO_LONG_HEX = 1,
|
CHUNKE_TOO_LONG_HEX = 1,
|
||||||
CHUNKE_ILLEGAL_HEX,
|
CHUNKE_ILLEGAL_HEX,
|
||||||
|
CHUNKE_BAD_CHUNK,
|
||||||
CHUNKE_WRITE_ERROR,
|
CHUNKE_WRITE_ERROR,
|
||||||
CHUNKE_STATE_ERROR,
|
CHUNKE_STATE_ERROR,
|
||||||
CHUNKE_LAST
|
CHUNKE_LAST
|
||||||
|
@@ -2,41 +2,30 @@
|
|||||||
; Definition file for the DLL version of the LIBCURL library from curl
|
; Definition file for the DLL version of the LIBCURL library from curl
|
||||||
;
|
;
|
||||||
|
|
||||||
LIBRARY CURL
|
LIBRARY LIBCURL
|
||||||
|
|
||||||
DESCRIPTION 'curl libcurl - http://curl.haxx.se'
|
DESCRIPTION 'curl libcurl - http://curl.haxx.se'
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
curl_close @ 1 ;
|
curl_easy_cleanup @ 1 ;
|
||||||
curl_connect @ 2 ;
|
curl_easy_getinfo @ 2 ;
|
||||||
curl_disconnect @ 3 ;
|
curl_easy_init @ 3 ;
|
||||||
curl_do @ 4 ;
|
curl_easy_perform @ 4 ;
|
||||||
curl_done @ 5 ;
|
curl_easy_setopt @ 5 ;
|
||||||
curl_easy_cleanup @ 6 ;
|
curl_escape @ 6 ;
|
||||||
curl_easy_getinfo @ 7 ;
|
curl_formparse @ 7 ;
|
||||||
curl_easy_init @ 8 ;
|
curl_formfree @ 8 ;
|
||||||
curl_easy_perform @ 9 ;
|
curl_getdate @ 9 ;
|
||||||
curl_easy_setopt @ 10 ;
|
curl_getenv @ 10 ;
|
||||||
curl_escape @ 11 ;
|
curl_slist_append @ 11 ;
|
||||||
curl_formparse @ 12 ;
|
curl_slist_free_all @ 12 ;
|
||||||
curl_free @ 13 ;
|
curl_unescape @ 13 ;
|
||||||
curl_getdate @ 14 ;
|
curl_version @ 14 ;
|
||||||
curl_getenv @ 15 ;
|
curl_maprintf @ 15 ;
|
||||||
curl_init @ 16 ;
|
curl_mfprintf @ 16 ;
|
||||||
curl_open @ 17 ;
|
curl_mprintf @ 17 ;
|
||||||
curl_read @ 18 ;
|
curl_msprintf @ 18 ;
|
||||||
curl_setopt @ 19 ;
|
curl_msnprintf @ 19 ;
|
||||||
curl_slist_append @ 20 ;
|
curl_mvfprintf @ 20 ;
|
||||||
curl_slist_free_all @ 21 ;
|
curl_strequal @ 21 ;
|
||||||
curl_transfer @ 22 ;
|
curl_strnequal @ 22 ;
|
||||||
curl_unescape @ 23 ;
|
|
||||||
curl_version @ 24 ;
|
|
||||||
curl_write @ 25 ;
|
|
||||||
curl_maprintf @ 26 ;
|
|
||||||
curl_mfprintf @ 27 ;
|
|
||||||
curl_mprintf @ 28 ;
|
|
||||||
curl_msprintf @ 29 ;
|
|
||||||
curl_msnprintf @ 30 ;
|
|
||||||
curl_mvfprintf @ 31 ;
|
|
||||||
Curl_strequal @ 32 ;
|
|
||||||
Curl_strnequal @ 33 ;
|
|
||||||
|
@@ -138,8 +138,8 @@ int random_the_seed(struct connectdata *conn)
|
|||||||
RAND_seed(area, len);
|
RAND_seed(area, len);
|
||||||
|
|
||||||
free(area); /* now remove the random junk */
|
free(area); /* now remove the random junk */
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* generates a default path for the random seed file */
|
/* generates a default path for the random seed file */
|
||||||
buf[0]=0; /* blank it first */
|
buf[0]=0; /* blank it first */
|
||||||
@@ -358,7 +358,7 @@ Curl_SSLConnect(struct connectdata *conn)
|
|||||||
X509_free(conn->ssl.server_cert);
|
X509_free(conn->ssl.server_cert);
|
||||||
#else /* USE_SSLEAY */
|
#else /* USE_SSLEAY */
|
||||||
/* this is for "-ansi -Wall -pedantic" to stop complaining! (rabe) */
|
/* this is for "-ansi -Wall -pedantic" to stop complaining! (rabe) */
|
||||||
(void) data;
|
(void) conn;
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
int Curl_strequal(const char *first, const char *second)
|
int curl_strequal(const char *first, const char *second)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_STRCASECMP)
|
#if defined(HAVE_STRCASECMP)
|
||||||
return !strcasecmp(first, second);
|
return !strcasecmp(first, second);
|
||||||
@@ -45,7 +45,7 @@ int Curl_strequal(const char *first, const char *second)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int Curl_strnequal(const char *first, const char *second, size_t max)
|
int curl_strnequal(const char *first, const char *second, size_t max)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_STRCASECMP)
|
#if defined(HAVE_STRCASECMP)
|
||||||
return !strncasecmp(first, second, max);
|
return !strncasecmp(first, second, max);
|
||||||
|
@@ -22,10 +22,14 @@
|
|||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
int Curl_strequal(const char *first, const char *second);
|
|
||||||
int Curl_strnequal(const char *first, const char *second, size_t max);
|
|
||||||
|
|
||||||
#define strequal(a,b) Curl_strequal(a,b)
|
/*
|
||||||
#define strnequal(a,b,c) Curl_strnequal(a,b,c)
|
* These two actually are public functions.
|
||||||
|
*/
|
||||||
|
int curl_strequal(const char *first, const char *second);
|
||||||
|
int curl_strnequal(const char *first, const char *second, size_t max);
|
||||||
|
|
||||||
|
#define strequal(a,b) curl_strequal(a,b)
|
||||||
|
#define strnequal(a,b,c) curl_strnequal(a,b,c)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -571,8 +571,10 @@ Transfer(struct connectdata *c_conn)
|
|||||||
CHUNKcode res =
|
CHUNKcode res =
|
||||||
Curl_httpchunk_read(conn, str, nread, &nread);
|
Curl_httpchunk_read(conn, str, nread, &nread);
|
||||||
|
|
||||||
if(CHUNKE_OK < res)
|
if(CHUNKE_OK < res) {
|
||||||
|
failf(data, "Receeived problem in the chunky parser");
|
||||||
return CURLE_READ_ERROR;
|
return CURLE_READ_ERROR;
|
||||||
|
}
|
||||||
else if(CHUNKE_STOP == res) {
|
else if(CHUNKE_STOP == res) {
|
||||||
/* we're done reading chunks! */
|
/* we're done reading chunks! */
|
||||||
keepon &= ~KEEP_READ; /* read no more */
|
keepon &= ~KEEP_READ; /* read no more */
|
||||||
|
@@ -29,8 +29,6 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
#include <curl/types.h> /* new for v7 */
|
|
||||||
#include <curl/easy.h> /* new for v7 */
|
|
||||||
|
|
||||||
#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
|
#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
|
||||||
#include <curl/mprintf.h>
|
#include <curl/mprintf.h>
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
#define CURL_NAME "curl"
|
#define CURL_NAME "curl"
|
||||||
#define CURL_VERSION "7.7-beta2"
|
#define CURL_VERSION "7.7-beta3"
|
||||||
#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
|
#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
|
||||||
|
@@ -25,8 +25,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
#include <curl/types.h>
|
|
||||||
#include <curl/easy.h>
|
|
||||||
|
|
||||||
#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
|
#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
|
||||||
#include <curl/mprintf.h>
|
#include <curl/mprintf.h>
|
||||||
|
@@ -4,10 +4,10 @@ Transfer-Encoding: chunked
|
|||||||
Connection: mooo
|
Connection: mooo
|
||||||
|
|
||||||
40
|
40
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
30
|
30
|
||||||
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
||||||
20;heresatest=moooo
|
20;heresatest=moooo
|
||||||
ccccccccccccccccccccccccccccccc
|
cccccccccccccccccccccccccccccccc
|
||||||
0
|
0
|
||||||
muuu
|
muuu
|
||||||
|
@@ -3,6 +3,4 @@ Server: fakeit/1.0
|
|||||||
Transfer-Encoding: chunked
|
Transfer-Encoding: chunked
|
||||||
Connection: mooo
|
Connection: mooo
|
||||||
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
|
||||||
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
ccccccccccccccccccccccccccccccc
|
|
@@ -619,7 +619,7 @@ EOHELP
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif($ARGV[0] =~ /^to$/i) {
|
elsif($ARGV[0] =~ /^to$/i) {
|
||||||
$fromnum = $number;
|
$fromnum = $number+1;
|
||||||
}
|
}
|
||||||
} while(shift @ARGV);
|
} while(shift @ARGV);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user