Daniel Stenberg
13648f8ccd
struct HandleData is now called struct SingleRequest, and is only for data that
...
is inited at the start of the DO action. I removed the Curl_transfer_keeper
struct completely, and I had to move out a few struct members (that had to
be set before DO or used after DONE) to the UrlState struct. The SingleRequest
struct is accessed with SessionHandle->req.
One of the biggest reasons for doing this was the bunch of duplicate struct
members in HandleData and Curl_transfer_keeper since it was really messy to
keep track of two variables with the same name and basically the same purpose!
2007-11-24 23:16:55 +00:00
Daniel Stenberg
50feea3eef
Rearranged code and changed Curl_readwrite_init() and Curl_pre_readwrite() into
...
do_init() and do_complete() which now are called first and last in the DO
function. It simplified the flow in multi.c and the functions got more
sensible names!
2007-11-15 21:45:45 +00:00
Daniel Stenberg
cbd1a77ec2
if () => if()
...
while () => while()
and some other minor re-indentings
2007-11-07 09:21:35 +00:00
Dan Fandrich
59b05ac383
Fixed an OOM problem with file: URLs
...
Moved Curl_file_connect into the protocol handler struct.
2007-10-30 23:00:40 +00:00
Yang Tse
b9a305983f
File is not a protocol that can deal with "persistancy"
2007-10-23 15:16:46 +00:00
Daniel Stenberg
5b358603bd
Michal Marek forwarded the bug report
...
https://bugzilla.novell.com/show_bug.cgi?id=332917 about a HTTP redirect to
FTP that caused memory havoc. His work together with my efforts created two
fixes:
#1 - FTP::file was moved to struct ftp_conn, because is has to be dealt with
at connection cleanup, at which time the struct HandleData could be
used by another connection.
Also, the unused char *urlpath member is removed from struct FTP.
#2 - provide a Curl_reset_reqproto() function that frees
data->reqdata.proto.* on connection setup if needed (that is if the
SessionHandle was used by a different connection).
2007-10-22 15:05:35 +00:00
Yang Tse
92433e596b
We use this ZERO_NULL to avoid picky compiler warnings,
...
when assigning a NULL pointer to a function pointer var.
2007-10-17 16:58:32 +00:00
Dan Fandrich
61ffcd7815
Made a few more functions static with the protocol handler table in place.
2007-10-13 00:47:53 +00:00
Patrick Monnerat
07b6e7363d
Added per-protocol callback static tables, replacing callback ptr storage
...
in the connectdata structure by a single handler table ptr.
2007-10-12 13:36:37 +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
1b66c1da6c
Added lots of consts
2007-08-29 05:36:53 +00:00
Daniel Stenberg
91fd2c3bcd
Bug report #1779751 ( http://curl.haxx.se/bug/view.cgi?id=1779751 ) pointed
...
out that doing first a file:// upload and then an FTP upload crashed libcurl
or at best caused furious valgrind complaints. Fixed now by making sure we
free and clear the file-specific struct properly when done with it.
2007-08-22 22:48:41 +00:00
Dan Fandrich
5ecd56d964
Implemented only the parts of Patrick Monnerat's OS/400 patch that renamed
...
some few internal identifiers to avoid conflicts, which could be useful on
other platforms.
2007-07-23 18:51:22 +00:00
James Housley
aed0cc6f2a
Using fdopen() is a more correct way to implement the CURLOPT_NEW_FILE_PREMS
...
file.c, but the debug interface was missing. This adds the routines needed
to make the memory debuging work for fdopen().
2007-06-28 11:11:29 +00:00
James Housley
4cd7f85410
Add two new options for the SFTP/SCP/FILE protocols: CURLOPT_NEW_FILE_PERMS
...
and CURLOPT_NEW_DIRECTORY_PERMS. These control the premissions for files
and directories created on the remote server. CURLOPT_NEW_FILE_PERMS
defaults to 0644 and CURLOPT_NEW_DIRECTORY_PERMS defaults to 0755
2007-06-27 20:15:48 +00:00
Dan Fandrich
38b490a310
Fixed a compiler warning on uClibc.
2007-06-07 22:24:53 +00:00
Daniel Stenberg
713c9f8602
Feng Tu made (lib)curl support "upload" resuming work for file:// URLs.
2007-05-31 08:59:44 +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
Daniel Stenberg
385e612fa5
- Armel Asselin improved libcurl to behave a lot better when an easy handle
...
doing an FTP transfer is removed from a multi handle before completion. The
fix also fixed the "alive counter" to be correct on "premature removal" for
all protocols.
2007-01-16 22:22:10 +00:00
Daniel Stenberg
a8996b9e52
use the return code from lseek() to detect problems and bail out if so
2006-10-18 14:47:58 +00:00
Yang Tse
e150150d9f
Remove redundant __CYGWIN__ symbol check
2006-10-11 16:01:16 +00:00
Daniel Stenberg
b7eeb6e67f
Major overhaul introducing http pipelining support and shared connection
...
cache within the multi handle.
2006-09-07 21:49:20 +00:00
Gisle Vanem
4f4277d9c7
Simplified #ifdef on WIN32; the statement
...
" !defined(__GNUC__) || defined(__MINGW32__)" implies
CygWin.
2006-09-03 13:52:07 +00:00
Gisle Vanem
c7aae10300
Removed "#ifndef__WATCOMC__". Use "#ifdef HAVE_SYS_TIME_H" instead.
2006-08-30 16:17:06 +00:00
Gisle Vanem
59cf6fd4f0
Watcom lacks <sys/time.h>.
2006-08-29 18:45:55 +00:00
Daniel Stenberg
cfdcae4bc7
Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPE
...
command on subsequent requests on a re-used connection unless it has to.
2006-08-19 21:18:36 +00:00
Daniel Stenberg
e85e30546c
Roland Blom filed bug report #1481217
...
(http://curl.haxx.se/bug/view.cgi?id=1481217 ), with follow-ups by Michele Bini
and David Byron. libcurl previously wrongly used GetLastError() on windows to
get error details after socket-related function calls, when it really should
use WSAGetLastError() instead.
When changing to this, the former function Curl_ourerrno() is now instead
called Curl_sockerrno() as it is necessary to only use it to get errno from
socket-related functions as otherwise it won't work as intended on Windows.
2006-05-04 22:39:47 +00:00
Daniel Stenberg
5a4b43848a
First commit of David McCreedy's EBCDIC and TPF changes.
2006-04-07 21:50:47 +00:00
Marty Kuhrt
cc34342790
fix questionable compare compiler error (unsigned can't be < 0)
2005-12-30 00:20:46 +00:00
Marty Kuhrt
b11dec5dd5
putting back into dist
2005-12-30 00:07:25 +00:00
Daniel Stenberg
6513303498
Jamie Newton pointed out that libcurl's file:// code would close() a zero
...
file descriptor if given a non-existing file.
2005-12-01 23:42:03 +00:00
Daniel Stenberg
e7cefd684b
Removed all uses of strftime() since it uses the localised version of the
...
week day names and month names and servers don't like that.
2005-02-11 00:03:49 +00:00
Daniel Stenberg
6a2e21ec8c
FTP code turned into state machine. Not completely yet, but a good start.
...
The tag 'before_ftp_statemachine' was set just before this commit in case
of future need.
2005-02-09 13:06:40 +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
Daniel Stenberg
344c6a3725
Gisle's fix for resuming large file:// files on windows - slightly edited
...
by me.
2004-12-13 10:25:26 +00:00
Daniel Stenberg
1b8ac7c6b5
provide an error string when resuming fails - and use the proper error code,
...
not the former one
2004-12-11 18:55:51 +00:00
Gisle Vanem
865e495188
Handle drive-letter on MS-DOS.
2004-11-09 14:57:11 +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
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
06a5c70f4d
Kjetil Jacobsen reported an open file leak in file:// transfers of empty
...
files.
2004-08-17 12:00:39 +00:00
Daniel Stenberg
2a6f9aa155
Andres Garcia pointed out that we searched for a slash badly since it is
...
converted and thus we must search for backslash on windows
2004-07-06 15:16:05 +00:00
Daniel Stenberg
387ec712e6
fix warning
2004-06-24 15:06:25 +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
8e28721057
The read callback can now return CURL_READFUNC_ABORT to stop a transfer.
2004-06-21 14:07:38 +00:00
Daniel Stenberg
3d00c86f4c
Steven Bazyl and Seshubabu Pasam pointed out a bug on win32 when freeing the
...
path after a transfer.
2004-06-10 07:17:28 +00:00
Daniel Stenberg
fd802db39f
initial support for "uploading" to file:// URLs
2004-05-25 21:47:29 +00:00
Daniel Stenberg
54cd2bee58
better bailing out in case of no memory
2004-05-13 15:17:07 +00:00
Daniel Stenberg
bbafb2eb27
curl_global_init_mem() allows the memory functions to be replaced.
...
memory.h is included everywhere for this.
2004-05-11 11:30:23 +00:00
Daniel Stenberg
af641d20a7
added comments
2004-04-26 07:11:39 +00:00
Daniel Stenberg
8ed44e8dfb
New authentication code added, particularly noticable when doing POST or PUT
...
with Digest or NTLM. libcurl will now use HEAD to negotiate the authentication
and when done perform the requested POST.
2004-04-06 15:14:10 +00:00