Daniel Stenberg
b620e62f0f
- Dmitry Kurochkin moved several struct fields from the connectdata struct to
...
the SingleRequest one to make pipelining better. It is a bit tricky to keep
them in the right place, to keep things related to the actual request or to
the actual connection in the right place.
2008-01-31 12:04:33 +00:00
Yang Tse
a042090467
fix compiler warning
2008-01-11 16:49:35 +00:00
Daniel Stenberg
08adf67969
Daniel Egger made CURLOPT_RANGE work on file:// URLs the very same way it
...
already worked for FTP:// URLs
2008-01-11 14:20:41 +00:00
Daniel Stenberg
662bee7193
All static functions that were previously name Curl_* something no longer
...
use that prefix as we use that prefix only for library-wide internal global
symbols.
2007-12-08 22:50:55 +00:00
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
Daniel Stenberg
0d1fc73f21
Use more curl_off_t variables when doing the progress meter calculations and
...
argument passing and try to convert to double only when providing data to the
external world.
2004-03-10 16:20:33 +00:00
Daniel Stenberg
3d3612e252
another include to prevent warnings
2004-03-05 11:39:19 +00:00
Daniel Stenberg
6717240650
more fixing to make the progress/getinfo stuff to work properly when doing
...
file: transfers too
2004-03-05 09:40:16 +00:00
Daniel Stenberg
78e47fbb5c
include the proper header file too
2004-03-04 15:23:57 +00:00
Daniel Stenberg
2b59e90c54
fix progress data to be updated properly for file: transfers, as reported
...
by Jesse Noller
2004-03-04 15:12:12 +00:00
Daniel Stenberg
e2f7030202
rename struct FILE to FILEPROTO, to prevent it from causing trouble with
...
the plain old FILE typedef.
2004-03-03 09:25:59 +00:00
Daniel Stenberg
353f764119
Yet another curl_off_t printf format attempt, we now exclude the %-letter from
...
FORMAT_OFF_T to allow additional options to get specified, like with '"%5"
FORMAT_OFF_T'.
2004-03-02 09:31:18 +00:00
Daniel Stenberg
7ab3b5b3bb
use FORMAT_OFF_T instead of CURL_FORMAT_OFF_T to reduce the complexity of
...
having to redef that name
2004-03-02 07:25:39 +00:00
Daniel Stenberg
cb72a80fe0
Use CURL_FORMAT_OFF_T for printf()inf curl_off_t variables.
2004-03-01 16:28:00 +00:00
Daniel Stenberg
6a921197e2
the now and start variables were never really used
2004-02-13 12:13:30 +00:00
Daniel Stenberg
115e74a8ad
I made the same fix here, that Tor already did in the ftp.c code. To make
...
sure this doesn't get weird on 64bit archs.
2004-02-13 07:03:03 +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
a259f66fa4
attempt to fix 64bit seeking for Windows, does it work?
2004-01-22 13:11:35 +00:00
Daniel Stenberg
b791e158f0
use curl_off_t instead of off_t!
2004-01-22 12:45:50 +00:00
Daniel Stenberg
053f6c85ef
updated year in the copyright string
2004-01-07 09:19:33 +00:00
Daniel Stenberg
b60e0fa97e
David J Meyer's large file support.
2004-01-05 22:29:29 +00:00
Daniel Stenberg
693df0fa34
silly me, I was meaning to do this change already as discussed on the libcurl
...
list, we get the time in GMT and not localtime
2003-10-30 09:13:04 +00:00
Daniel Stenberg
fb26b2bd98
curl --head now reports info "headers" on file:// URLs as well
2003-10-30 09:08:16 +00:00
Daniel Stenberg
749f5387c1
Gisle Vanem's IPv6-on-Windows patch applied!
2003-10-14 12:00:45 +00:00
Daniel Stenberg
514a8739b6
make sure the string is long enough
2003-08-08 17:56:47 +00:00
Daniel Stenberg
9273096a8a
David Byron's fix for file:// URLs with drive letters included.
2003-08-08 17:12:04 +00:00
Daniel Stenberg
f0278ca114
Removed #include <sys/resource.h>, as pointed out by Henry Bland we don't
...
need it.
2003-07-25 08:30:58 +00:00
Daniel Stenberg
db566c54ae
use CURLDEBUG instead of MALLOCDEBUG
2003-06-26 11:16:37 +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
cbc0f65fa3
Dolbneff A.V and Spiridonoff A.V made the file:// code work with resumes
...
in the same style other code does.
2002-09-23 12:46:23 +00:00
Daniel Stenberg
ba4e69bebc
updated source code boilerplate/header
2002-09-03 11:52: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
192606bc4b
use double where it is supposed to
2002-04-22 23:54:43 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00
Sterling Hughes
8e91d5de8e
looks nicer and is better compatible with older vim versions
2001-10-11 09:32:19 +00:00
Sterling Hughes
6147879837
Added formatting sections for emacs and vim
2001-09-07 04:01:32 +00:00
Daniel Stenberg
0ece1b5c34
Major rename and redesign of the internal "backbone" structs. Details will
...
be posted in a minute to the libcurl list.
2001-08-30 22:48:34 +00:00
Daniel Stenberg
e9e5197cea
size_t => ssize_t, removed the special VMS fix for that purpose
2001-08-14 08:22:27 +00:00
Daniel Stenberg
1400561a5a
VMS #ifdefs added. several related to size_t problems that we must address
...
globally anyway... check these as soon as the size_t fixes are in place
2001-08-06 12:17:43 +00:00
Daniel Stenberg
3fd65fb7d8
Remade resume stuff to keep data in the connectdata struct instead of the
...
main handle struct to work with persistant connections
2001-04-18 07:25:11 +00:00
Daniel Stenberg
0a1e002ca4
Jörn fixed it to compile on win32 again
2001-03-14 08:28:19 +00:00
Daniel Stenberg
84e94fda8b
remade FILE:// support to look more as the other protocols
2001-03-05 13:39:01 +00:00
Daniel Stenberg
4031104404
Internal symbols that aren't static are now prefixed with 'Curl_'
2001-01-05 10:11:41 +00:00
Daniel Stenberg
24dee483e9
dual-license fix
2001-01-03 09:29:33 +00:00
Daniel Stenberg
64761bc786
removed #if 0 section
2000-11-29 08:17:12 +00:00
Daniel Stenberg
79a84d20f2
Added the memdebug include file
2000-11-27 12:04:51 +00:00
Daniel Stenberg
fb962a281e
uses the new client_write() function
2000-11-22 12:51:18 +00:00
Daniel Stenberg
460aa295e0
Chris Faherty fixed a free-twice problem
2000-11-13 07:51:23 +00:00
Daniel Stenberg
b6e18f2f66
#include "setup.h" moved first of all includes
2000-08-24 14:26:33 +00:00
Daniel Stenberg
d4731b7050
Albert Chin-A-Young's fixes
2000-08-23 07:23:42 +00:00