Daniel Stenberg
f851f76857
CURLFORM_STREAM: acknowledge CURLFORM_FILENAME
...
The CURLFORM_STREAM is documented to only insert a file name (and thus
look like a file upload) in the part if CURLFORM_FILENAME is set, but in
reality it always inserted a filename="" and if CURLFORM_FILENAME wasn't
set, it would insert insert rubbish (or possibly crash).
This is now fixed to work as documented, and test 554 has been extended
to verify this.
Reported by: Sascha Swiercy
Bug: http://curl.haxx.se/mail/lib-2011-06/0070.html
2011-06-17 22:23:42 +02:00
Daniel Stenberg
0aedccc18a
curl_formget: fix FILE * leak
...
Properly deal with the fact that the last fread() call most probably is
a short read, and when using callbacks in fact all calls can be short
reads. No longer consider a file read done until it returns a 0 from the
read function.
Reported by: Aaron Orenstein
Bug: http://curl.haxx.se/mail/lib-2011-06/0048.html
2011-06-13 22:32:00 +02:00
Daniel Stenberg
85881f9f35
curl_formget: treat CURLFORM_STREAM better
...
If a piece is set to use a callback to get the data, it should not be
treated as data. It unfortunately also requires that curl_easy_perform()
or similar has been used as otherwise the callback function hasn't been
figured out and curl_formget won't know how to get the content.
2011-06-13 22:05:13 +02:00
Daniel Stenberg
0f7bea7c3a
unittest: mark all unit tested functions
...
With "@unittest: [num]" in the header comment for each tested function.
Shows we have a log way to go still...
2011-06-10 14:40:46 +02:00
Daniel Stenberg
889d1e973f
whitespace cleanup: no space first in conditionals
...
"if(a)" is our style, not "if( a )"
2011-04-27 09:09:35 +02:00
Daniel Stenberg
b903186fa0
source cleanup: unify look, style and indent levels
...
By the use of a the new lib/checksrc.pl script that checks that our
basic source style rules are followed.
2011-04-27 09:09:35 +02:00
Daniel Stenberg
c828646f60
CURL_DOES_CONVERSIONS: cleanup
...
Massively reduce #ifdefs all over (23 #ifdef lines less so far)
Moved conversion-specific code to non-ascii.c
2011-04-20 00:50:07 +02:00
Yang Tse
dc3e7df1c9
fix compiler warning
2010-11-08 04:03:11 +01:00
Daniel Stenberg
e8c442952d
formdata: provide error message
...
When failing to build form post due to an error, the code now does a
proper failf(). Previously libcurl would report an error like "failed
creating formpost data" when a file wasn't possible to open which was
not easy for users to figure out.
I also lower cased a function name to be named more curl-style and
removed some unnecessary code.
2010-10-20 14:57:43 +02:00
Daniel Stenberg
2309b4e330
remove the CVSish $Id$ lines
2010-03-24 11:02:54 +01:00
Daniel Stenberg
33ce0ec1f1
wrap long lines and do some indent policing
2010-01-22 23:21:39 +00:00
Yang Tse
59939313f8
Make usage of calloc()'s arguments consistent with rest of code base
2009-11-18 10:33:54 +00:00
Yang Tse
6d4e6cc813
Check for basename() is now done the same as other function checks
2009-10-18 03:37:39 +00:00
Yang Tse
0077a6d51b
Attempt to silence bogus compiler warning: "Potential null pointer dereference"
2009-10-08 12:44:25 +00:00
Yang Tse
f2f45339dc
Moved Curl_rand() and Curl_srand() code from formdata.c and formdata.h
...
into curl_rand.c and curl_rand.h
2009-09-17 14:23:27 +00:00
Patrick Monnerat
c32cf33a16
Replaced use of standard C library rand()/srand() by our own pseudo-random number generator.
2009-06-15 10:15:28 +00:00
Yang Tse
16ae283fb4
initialize fread callback pointer to avoid compiler warning
2009-06-09 00:49:34 +00:00
Yang Tse
33a3753c3f
libcurl's memory.h renamed to curl_memory.h
2009-04-21 11:46:16 +00:00
Daniel Stenberg
2a86817349
malloc+memset => calloc
2008-12-20 22:51:57 +00:00
Dan Fandrich
a028c69f48
Avoid creating garbage on an OOM error
2008-11-18 19:58:44 +00:00
Dan Fandrich
9b033e1b8a
Added .xml as one of the few common file extensions known by the multipart
...
form generator. Made the extensions part of the MIME type struct to reduce
the size and run-time relocations necessary to build the table.
2008-11-14 19:22:40 +00:00
Daniel Stenberg
2249c12a3c
fix an OOM problem detected by Jim Meyering
2008-11-14 16:26:39 +00:00
Daniel Stenberg
0bb91218c5
added a NULL pointer check for the name field as it can in fact be NULL when
...
dereferenced here, if the app passes in a funny combo. Detected by coverity.com
2008-10-20 21:56:35 +00:00
Yang Tse
4e909ee8b1
ntoa() and inet_ntoa_r() no longer used
2008-09-24 12:22:16 +00:00
Yang Tse
59e378f48f
remove unnecessary typecasting of malloc()
2008-09-06 05:29:05 +00:00
Yang Tse
a622fd90b4
remove unnecessary typecasting of calloc()
2008-09-06 04:47:14 +00:00
Dan Fandrich
934708d950
Made some variables const which eliminated some casts
2008-09-02 17:41:20 +00:00
Yang Tse
ad638da2c2
Library internal only C preprocessor macros FORMAT_OFF_T and FORMAT_OFF_TU
...
remain in use as internal curl_off_t print formatting strings for the internal
*printf functions which still cannot handle print formatting string directives
such as "I64d", "I64u", and others available on MSVC, MinGW, Intel's ICC, and
other DOS/Windows compilers.
This reverts previous commit part which did:
FORMAT_OFF_T -> CURL_FORMAT_CURL_OFF_T
FORMAT_OFF_TU -> CURL_FORMAT_CURL_OFF_TU
2008-08-16 01:33:59 +00:00
Yang Tse
66fb9ca5f6
For congruency sake with the naming of other CURL_XXXXXX_CURL_OFF_T macros,
...
the names of the curl_off_t formatting string directives now become
CURL_FORMAT_CURL_OFF_T and CURL_FORMAT_CURL_OFF_TU.
CURL_FMT_OFF_T -> CURL_FORMAT_CURL_OFF_T
CURL_FMT_OFF_TU -> CURL_FORMAT_CURL_OFF_TU
Remove the use of an internal name for the curl_off_t formatting string directives
and use the common one available from the inside and outside of the library.
FORMAT_OFF_T -> CURL_FORMAT_CURL_OFF_T
FORMAT_OFF_TU -> CURL_FORMAT_CURL_OFF_TU
2008-08-15 02:58:15 +00:00
Dan Fandrich
60f0b4fffe
Fixed test 554 to pass the torture test.
2008-07-08 21:16:18 +00:00
Daniel Stenberg
a2314225e0
- Added CURLFORM_STREAM as a supported option to curl_formadd() to allow an
...
application to provide data for a multipart with the read callback. Note
that the size needs to be provided with CURLFORM_CONTENTSLENGTH when the
stream option is used. This feature is verified by the new test case
554. This feature was sponsored by Xponaut.
2008-03-31 10:02:23 +00:00
Daniel Stenberg
ad6e28073c
removed space after if and while before the parenthesis for better source code
...
consistency
2007-11-05 09:45:09 +00:00
Dan Fandrich
16b95fc773
Enabled a few more gcc warnings with --enable-debug. Renamed a few
...
variables to avoid shadowing global declarations.
2007-09-27 01:45:22 +00:00
Dan Fandrich
8cf0814a14
Fixed some minor type mismatches and missing consts mainly found by splint.
2007-08-27 06:31:28 +00:00
Daniel Stenberg
26af759732
Patrick Monnerat updated the _FORM_DEBUG-enabled code, and I updated comments
...
based on his comments/suggestions.
2007-08-05 21:33:31 +00:00
Daniel Stenberg
4d9e24d1e4
Better deal with NULL pointers.
...
CID 3 and 4 from the coverity.com scan.
2007-03-31 21:01:18 +00:00
Gisle Vanem
c514a2a89a
Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-files
...
since they're already included through "setup.h".
2007-02-26 04:24:26 +00:00
Yang Tse
b6f889085d
update copyright year notice
2007-01-27 03:43:05 +00:00
Daniel Stenberg
0fb5a65a58
- David McCreedy provided libcurl changes for doing HTTP communication on
...
non-ASCII platforms. It does add some complexity, most notably with more
#ifdefs, but I want to see this supported added and I can't see how we can
add it without the extra stuff added.
2007-01-14 14:57:51 +00:00
Gisle Vanem
4031eb1d91
Avoid Metaware's High-C warning "'=' encountered where '==' may have been intended."
2006-08-29 21:11:55 +00:00
Daniel Stenberg
a88deadd6f
Yves Lejeune fixed so that replacing Content-Type: when doing multipart
...
formposts work exactly the way you want it (and the way you'd assume it
works)
2006-07-27 22:35:09 +00:00
Daniel Stenberg
27c0b43897
David McCreedy fixed a build error when building libcurl with HTTP disabled,
...
problem added with the curl_formget() patch.
2006-07-20 20:04:52 +00:00
Yang Tse
856114d05c
fix minor compiler warning
2006-06-28 02:45:27 +00:00
Daniel Stenberg
37f4877e56
Michael Wallner added curl_formget(), which allows an application to extract
...
(serialise) a previously built formpost (as with curl_formadd()).
2006-06-24 21:46:41 +00:00
Gisle Vanem
12db20be4e
Fixed signed/unsigned convertion errors in Salford-C.
...
#ifdef around WSAEDISCON in strerror.c.
2006-04-26 17:26:22 +00:00
Daniel Stenberg
d055b269ed
Yang Tse: fix compilation errors when SSL is not disabled and HTTP is
...
disabled
2005-11-24 20:38:20 +00:00
Daniel Stenberg
11bdba0007
corrected copyright year
2005-05-02 14:33:07 +00:00
Daniel Stenberg
6b1220b61d
Cory Nelson's work on nuking compiler warnings when building on x64 with
...
VS2005.
2005-04-26 13:08:49 +00:00
Dan Fandrich
99befd3a15
C ensures that static variables are initialized to 0
2004-12-22 20:12:15 +00:00
Daniel Stenberg
4f5a6a33b4
moved the lseek() and stat() magic defines to setup.h and now take advantage
...
of struct_stat in formdata.c as well, to support formpost uploads of large
files on Windows too
2004-12-16 18:09:27 +00:00
Dan Fandrich
1ba47e7af9
Add 'const' to immutable arrays.
2004-12-15 01:38:25 +00:00
Daniel Stenberg
24d47a6e07
Paul Nolan fix to make libcurl build nicely on Windows CE
2004-11-02 10:12:22 +00:00
Daniel Stenberg
beb61ef429
Mohun Biswas found out that formposting a zero-byte file didn't work very
...
good. I fixed.
2004-10-24 22:31:40 +00:00
Daniel Stenberg
7663775971
if basename was found, check for a prototype and if none was found, provide
...
our own in the formdata.c file to prevent warnings on systems without it
2004-10-08 08:18:08 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
121197bc87
Only include libgen.h if we have a basename as well.
...
Mainly meant to deal with the IRIX case which seems to requrie a "-lgen" lib
to find the basename function and thus without the gen lib, it finds the
header but not the function and our replacement function has a prototype
that doesn't match the IRIX one.
A different approach would be to make configure detect and use -lgen for the
systems that require it.
2004-10-05 06:55:09 +00:00
Daniel Stenberg
d5dd8e0fdc
let our basename() be static
2004-10-05 06:49:09 +00:00
Daniel Stenberg
fd2aad1d9b
someone should hit me
2004-10-01 11:27:14 +00:00
Daniel Stenberg
ec4da97a35
fixed the basename() replacement, reported by Gisle
2004-10-01 11:20:38 +00:00
Daniel Stenberg
8e87223195
- Based on Fedor Karpelevitch's formpost path basename patch, file parts in
...
formposts no longer include the path part. If you _really_ want them, you
must provide your preferred full file name with CURLFORM_FILENAME.
Added detection for libgen.h and basename() to configure. My custom
basename() replacement function for systems without it, might be a bit too
naive...
Updated 6 test cases to make them work with the stripped paths.
2004-10-01 06:36:11 +00:00
Daniel Stenberg
feb2dd2835
Replaced all uses of sprintf() with the safer snprintf(). It is just a
...
precaution to prevent mistakes to lead to buffer overflows.
2004-06-24 11:54:11 +00:00
Daniel Stenberg
c39858aac0
Source cleanups. The major one being that we now _always_ use a Curl_addrinfo
...
linked list for name resolved data, even on hosts/systems with only IPv4
stacks as this simplifies a lot of code.
2004-06-24 07:43:48 +00:00
Daniel Stenberg
24572daccc
Allow formposting of files larger than what fits in memory by not reading the
...
file until it is actually being uploaded.
Make sure we build and still work with HTTP disabled - the SSL code might use
the boundary string for some random seeding.
2004-06-14 08:51:43 +00:00
Daniel Stenberg
8f1783b8a7
provide curl_formfree() even when http is disabled, it does nothing then
2004-06-13 08:59:37 +00:00
Daniel Stenberg
2098871509
build again with disabled http
2004-06-10 07:46:24 +00:00
Daniel Stenberg
6ec145d4b4
when built with HTTP disabled, provide a curl_formadd() function anyway to
...
keep the API complete at all times
2004-06-09 08:22:02 +00:00
Daniel Stenberg
af33c6b549
deleted trailing whitespace
2004-06-03 13:03:57 +00:00
Daniel Stenberg
ccdcdb2a46
mark a value as alloced when strdup()ed to prevent memory leaks
2004-05-13 14:13:12 +00:00
Daniel Stenberg
005042e973
improved cleaning up in case of memory allocation failures
2004-05-12 09:02:23 +00:00
Daniel Stenberg
939866faab
Left-over from before the return-code fix. This is probably the code that
...
causes xlc and gcc act differently on AIX.
2004-05-12 06:27:40 +00:00
Daniel Stenberg
d3999e06d1
clear up memory on failure a little better
2004-05-11 14:48:53 +00:00
Daniel Stenberg
5c592f7dd9
Make this source code use our internal *printf().
...
Also some minor edits.
2004-05-11 11:29:02 +00:00
Daniel Stenberg
e55dee3807
James Bursa added better error checking for failer memory calls when
...
building formposts
2004-05-10 07:11:52 +00:00
Daniel Stenberg
d67ea8c7ad
count the formdata size using a 64bit size if avaialble
2004-05-07 09:50:49 +00:00
Daniel Stenberg
9e31a0536e
removed more leftovers from the formparse function
2004-05-04 09:31:04 +00:00
Daniel Stenberg
2960d37d71
removed curl_formparse() from the library
2004-05-04 08:24:13 +00:00
Daniel Stenberg
2a0a305300
only a minor comment/format change
2004-04-23 11:00:47 +00:00
Daniel Stenberg
70e2aadc18
Replaced Curl_FormReadOneLine with Curl_formpostheader as that is the only use
...
for it. It saves one extra copy of the header.
I also added comments for several functions in formdata.c
2004-04-23 10:37:52 +00:00
Daniel Stenberg
94a1d09ac7
more variable type fixing for the huge posts
2004-03-12 14:22:16 +00:00
Daniel Stenberg
88e226c686
some more size_t usage, and two added typecasts when converting from size_t
...
to long (MIPSpro warnings)
2004-03-03 13:11:28 +00:00
Daniel Stenberg
6c78b4b7c0
fixed some more size_t/int/long warnings and removed a few CMC comments
2004-02-27 13:21:14 +00:00
Daniel Stenberg
d571064b65
Clear up int/long/size_t/ssize_t usage a bit
2004-02-26 13:40:43 +00:00
Daniel Stenberg
4d17d6876e
Dan Fandrich's cleanup patch to make pedantic compiler options cause less
...
warnings. Minor edits by me.
2004-01-29 13:56:45 +00:00
Daniel Stenberg
053f6c85ef
updated year in the copyright string
2004-01-07 09:19:33 +00:00
Daniel Stenberg
1e251a64f3
Default Content-Type for formparts has changed to "application/octet-stream".
...
This seems more appropriate, and I believe mozilla and the likes do this.
.html files now get text/html as Content-Type.
Pointed out in bug report #839806 .
2003-11-13 07:43:18 +00:00
Daniel Stenberg
308bc9d919
use CURLDEBUG instead of MALLOCDEBUG for preprocessor conditions
2003-06-26 11:22:12 +00:00
Daniel Stenberg
1f2294d585
treat uploaded .html files as text/html by default
2003-04-15 09:29:39 +00:00
Daniel Stenberg
61788a0389
Changed how boundary strings are generated. This new way uses 28 dashes
...
and 12 following hexadecimal letters, which seems to be what IE uses.
This makes curl work smoother with more stupidly written server apps.
Worked this out together with Martijn Broenland.
2003-04-04 12:24:01 +00:00
Daniel Stenberg
a7c72b7abf
removed the local variables for emacs and vim, use the new sample.emacs
...
way for emacs, and vim users should provide a similar non-polluting style
2003-01-29 10:14:20 +00:00
Daniel Stenberg
f26a338a54
copyright year update in the source header
2003-01-16 21:08:12 +00:00
Daniel Stenberg
e90d528026
let the Curl_FormReader() return 0 when it reaches end of data to that the
...
chunked transfer work
2002-11-29 08:12:20 +00:00
Daniel Stenberg
01387f42c5
kromJx@crosswinds.net's fix that now uses checkprefix() instead of
...
strnequal() when the third argument was strlen(first argument) anyway.
This makes it less prone to errors. (Slightly edited by me)
2002-10-28 21:52:00 +00:00
Daniel Stenberg
6a88c8d845
prevent compiler warning
2002-10-28 19:21:30 +00:00
Daniel Stenberg
ba4e69bebc
updated source code boilerplate/header
2002-09-03 11:52:59 +00:00
Daniel Stenberg
131645dc31
Chris Combes added CURLFORM_BUFFER, CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH
2002-06-12 21:40:59 +00:00
Daniel Stenberg
08ef208fb7
added disable-[protocol] support, largely provided by Miklos Nemeth
2002-06-11 11:13:01 +00:00
Daniel Stenberg
5d2944c211
curl_formadd() now returns 'CURLFORMcode' instead of int, to better enable
...
checking for particular errors. curl/curl.h defines the errros
2002-05-21 07:44:27 +00:00
Daniel Stenberg
95f78080ab
This makes formposting with a specified file missing fail. curl_easy_perform
...
will then return CURLE_READ_ERROR.
2002-04-15 11:19:03 +00:00
Daniel Stenberg
90b51831fd
Tor Arntsen's fix for "CGI_Lite" compliance!
2002-04-03 11:11:01 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00