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
bdbd0cf27a
David McCreedy fixed a remaining mistake from the August 19 TYPE change.
2006-08-22 21:23:25 +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
a4ebf5b507
Fixed a flaw in the "Expect: 100-continue" treatment. If you did two POSTs
...
on a persistent connection and allowed the first to use that header, you
could not disable it for the second request.
2006-08-08 21:12:49 +00:00
Yang Tse
9dde0b54a3
Silence warning: empty body in an if-statement
2006-07-31 17:46:28 +00:00
Daniel Stenberg
f36adcdb73
Georg Horn made the transfer timeout error message include more details
2006-07-25 18:38:51 +00:00
Daniel Stenberg
dfe1884c25
Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE and
...
CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate libcurl is allowed
to send or receive data. This kind of adds the the command line tool's
option --limit-rate to the library.
The rate limiting logic in the curl app is now removed and is instead
provided by libcurl itself. Transfer rate limiting will now also work for -d
and -F, which it didn't before.
2006-06-22 21:36:53 +00:00
Daniel Stenberg
76cf020750
select_res is not a socket, it should be a plain int
2006-06-15 21:30:32 +00:00
Daniel Stenberg
a05ea124b9
oops, serious breakage in the fdset() function
2006-06-09 07:08:34 +00:00
Daniel Stenberg
95152aec68
David McCreedy brought line end conversions when doing FTP ASCII
...
transfers. They are done on non-windows systems and translate CRLF to LF.
2006-04-26 07:40:37 +00:00
Daniel Stenberg
686d90745b
First curl_multi_socket() commit. Should primarily be considered as an internal
...
code rearrange to fit the future better.
2006-04-10 15:00:53 +00:00
Daniel Stenberg
5a4b43848a
First commit of David McCreedy's EBCDIC and TPF changes.
2006-04-07 21:50:47 +00:00
Daniel Stenberg
bcc62cc9e3
#1451929 ( http://curl.haxx.se/bug/view.cgi?id=1451929 ) detailed a bug that
...
occurred when asking libcurl to follow HTTP redirects and the original URL had
more than one question mark (?). Added test case 276 to verify.
2006-03-28 08:03:25 +00:00
Daniel Stenberg
29e446e508
Shmulik Regev fixed an issue with multi-pass authentication and compressed
...
content when libcurl didn't honor the internal ignorebody flag.
2006-02-19 23:16:48 +00:00
Daniel Stenberg
87bcb6f377
Karl M added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options that
...
an app can use to let libcurl only connect to a remote host and then extract
the socket from libcurl. libcurl will then not attempt to do any transfer at
all after the connect is done.
2006-02-11 22:35:16 +00:00
Daniel Stenberg
12f5c67bf5
Philippe Vaucher provided a brilliant piece of test code that show a problem
...
with re-used FTP connections. If the second request on the same connection was
set not to fetch a "body", libcurl could get confused and consider it an
attempt to use a dead connection and would go acting mighty strange.
2006-02-07 23:09:04 +00:00
Daniel Stenberg
32bc30e210
Based on an error report by Philippe Vaucher, we no longer count a retried
...
connection setup as a follow-redirect. It turns out 1) this fails when a FTP
connection is re-setup and 2) it does make the max-redirs counter behave
wrong. This fix was not verified since the reporter vanished, but I believe
this is the right fix nonetheless.
2006-01-30 08:20:52 +00:00
Daniel Stenberg
74e5beab9d
Doug Kaufman's set of patches to make curl build fine on DJGPP again using
...
configure.
2005-11-24 10:22:46 +00:00
Daniel Stenberg
0264faaa4e
fix compiler warning
2005-11-18 07:23:50 +00:00
Daniel Stenberg
4022a60ea7
I extended a patch from David Shaw to make libcurl _always_ provide an error
...
string in the given error buffer to address the flaw mention on 21 sep 2005.
2005-11-17 14:29:54 +00:00
Daniel Stenberg
966fa848a0
Nis Jorgensen filed bug report #1338648
...
(http://curl.haxx.se/bug/view.cgi?id=1338648 ) which really is more of a
feature request, but anyway. It pointed out that --max-redirs did not allow
it to be set to 0, which then would return an error code on the first
Location: found. Based on Nis' patch, now libcurl supports CURLOPT_MAXREDIRS
set to 0, or -1 for infinity. Added test case 274 to verify.
2005-10-27 22:05:38 +00:00
Daniel Stenberg
b4c53e2cfd
An anonymous submitter filed bug #1299181
...
(http://curl.haxx.se/bug/view.cgi?id=1299181 ) that identified a silly problem
with Content-Range: headers with the 'bytes' keyword written in a different
case than all lowercase! It would cause a segfault!
2005-09-27 09:13:39 +00:00
Daniel Stenberg
b6f0aa4394
return an error string for the missing URL case
2005-09-21 06:38:33 +00:00
Daniel Stenberg
a4773fcbbb
Toby Peterson added CURLOPT_IGNORE_CONTENT_LENGTH to the library, accessible
...
from the command line tool with --ignore-content-length. This will make it
easier to download files from Apache 1.x (and similar) servers that are
still having problems serving files larger than 2 or 4 GB. When this option
is enabled, curl will simply have to wait for the server to close the
connection to signal end of transfer. I wrote test case 269 that runs a
simple test that this works.
2005-08-24 10:57:28 +00:00
Daniel Stenberg
a676c18502
- Jeff Pohlmeyer found out that if you ask libcurl to load a cookiefile (with
...
CURLOPT_COOKIEFILE), add a cookie (with CURLOPT_COOKIELIST), tell it to
write the result to a given cookie jar and then never actually call
curl_easy_perform() - the given file(s) to read was never read but the
output file was written and thus it caused a "funny" result.
- While doing some tests for the bug above, I noticed that Firefox generates
large numbers (for the expire time) in the cookies.txt file and libcurl
didn't treat them properly. Now it does.
2005-08-17 08:55:43 +00:00
Daniel Stenberg
35110eca73
James Bursa identified a libcurl HTTP bug and a good way to repeat it. If a
...
site responds with bad HTTP response that doesn't contain any header at all,
only a response body, and the write callback returns 0 to abort the
transfer, it didn't have any real effect but the write callback would be
called once more anyway.
2005-08-13 21:28:46 +00:00
Daniel Stenberg
465e19dbe9
Adrian Schuur added trailer support in the chunked encoding stream. The
...
trailer is then sent to the normal header callback/stream.
2005-07-12 18:15:34 +00:00
Daniel Stenberg
a7846189cd
Eric Cooper reported about a problem with HTTP servers that responds with
...
binary zeroes within the headers. They confused libcurl to do wrong so the
downloaded headers become incomplete. The fix is now verified with test case
262.
2005-05-29 22:30:48 +00:00
Daniel Stenberg
a90e33ad71
Hm, this doesn't feel right. The error bits returned from Curl_select() can
...
be returned at times when we want to ignore them. Test case 160 fails on Linux,
so I modify the comparison to check for _only_ the error bit set...
2005-05-10 23:02:37 +00:00
Daniel Stenberg
62ab21ce7d
me stupid, errno is not set for mere select()-exceptions
2005-05-10 22:48:26 +00:00
Daniel Stenberg
cc8e8db1e5
include protos to fix warnings
2005-05-10 22:46:24 +00:00
Daniel Stenberg
b19cba2016
If Curl_select() returns with the error bit set, bail out.
2005-05-10 22:44:08 +00:00
Daniel Stenberg
41e6292e7b
there cannot be chunked problem when no_body (HEAD) is true since without
...
body there is nothing chunked-encoded!
2005-04-30 23:07:38 +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
Daniel Stenberg
fb3c85ab2f
fixed the 304 response-with-content-length problem reported by Cory Nelson
2005-04-08 16:59:13 +00:00
Daniel Stenberg
6e61939382
GnuTLS support added. There's now a "generic" SSL layer that we use all over
...
internally, with code provided by sslgen.c. All SSL-layer-specific code is
then written in ssluse.c (for OpenSSL) and gtls.c (for GnuTLS).
As far as possible, internals should not need to know what SSL layer that is
in use. Building with GnuTLS currently makes two test cases fail.
TODO.gnutls contains a few known outstanding issues for the GnuTLS support.
GnuTLS support is enabled with configure --with-gnutls
2005-04-07 15:27:13 +00:00
Daniel Stenberg
ac022b2e30
Christopher R. Palmer reported a problem with HTTP-POSTing using "anyauth"
...
that picks NTLM. Thanks to David Byron letting me test NTLM against his
servers, I could quickly repeat and fix the problem. It turned out to be:
When libcurl POSTs without knowing/using an authentication and it gets back a
list of types from which it picks NTLM, it needs to either continue sending
its data if it keeps the connection alive, or not send the data but close the
connection. Then do the first step in the NTLM auth. libcurl didn't send the
data nor close the connection but simply read the response-body and then sent
the first negotiation step. Which then failed miserably of course. The fixed
version forces a connection if there is more than 2000 bytes left to send.
2005-02-16 14:31:23 +00:00
Daniel Stenberg
0a3065a2f2
Rename Curl_pretransfersec() to *_second_connect() since it does not just
...
do pretransfer stuff like Curl_pretransfer().
2005-02-14 09:30:40 +00:00
Daniel Stenberg
8c83422fe2
David Byron identified the lack of SSL_pending() use, and this is my take
...
at fixing this issue.
2005-02-09 23:09:12 +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
e36fb1ecda
Curl_wait_for_resolv() no longer disconnects on failure, but leaves that
...
operation to the caller. Disconnecting has the disadvantage that the conn
pointer gets completely invalidated and this is not handled on lots of places
in the code.
2005-02-08 07:36:57 +00:00
Daniel Stenberg
83c470a443
David Byron pointed out that this -1 on the buffer size is pointless since
...
the buffer is already BUFSIZE +1 one big to fit the extra trailing zero. This
change is reported to fix David's weird SSL problem...
2005-02-04 13:42:41 +00:00
Daniel Stenberg
8dbaf534c8
Using the multi interface, and doing a requsted a re-used connection that
...
gets closed just after the request has been sent failed and did not re-issue
a request on a fresh reconnect like the easy interface did. Now it does!
(define CURL_MULTIEASY, run test case 160)
2005-01-29 22:31:06 +00:00
Daniel Stenberg
7e42cb61f7
FTP third transfer support overhaul. See CHANGES for details.
2005-01-21 09:32:32 +00:00
Daniel Stenberg
c5b2e85b47
Dan Torop cleaned up a few no longer used variables from David Phillips'
...
select() overhaul fix.
2005-01-11 20:22:44 +00:00
Daniel Stenberg
29102befa6
Cyrill Osterwalder posted a detailed analysis about a bug that occurs when
...
using a custom Host: header and curl fails to send a request on a re-used
persistent connection and thus creates a new connection and resends it. It
then sent two Host: headers. Cyrill's analysis was posted here:
http://curl.haxx.se/mail/archive-2005-01/0022.html
2005-01-11 14:00:45 +00:00
Daniel Stenberg
ac269a8f68
Dan Fandrich added the --disable-cookies option to configure to build
...
libcurl without cookie support. This is mainly useful if you want to build a
minimalistic libcurl with no cookies support at all. Like for embedded
systems or similar.
2004-12-05 23:59:32 +00:00
Daniel Stenberg
2c27e4ee76
Bug report #1078066 : when a chunked transfer was pre-maturely closed exactly
...
at a chunk boundary it was not considered an error and thus went unnoticed.
Added test case 207 to verify.
2004-12-03 09:31:25 +00:00
Gisle Vanem
d85bc18178
I changed my mind. Remove ioctl() macro in setup.h instead.
2004-11-26 16:08:15 +00:00
Gisle Vanem
af114358c8
Renamed urldata.h members 'ioctl*' to 'ioctrl*' due to
...
clash with djgpp ioctl() macro in setup.h.
2004-11-26 14:57:01 +00:00
Daniel Stenberg
ffe17a8197
As reported in Mandrake's bug tracker bug 12289
...
(http://qa.mandrakesoft.com/show_bug.cgi?id=12289 ), curl would print a newline
to "finish" the progress meter after each redirect and not only after a
completed transfer.
2004-11-26 14:33:13 +00:00
Daniel Stenberg
3e1caa6185
HTTP "auth done right". See lib/README.httpauth
2004-11-24 16:11:35 +00:00
Daniel Stenberg
1a05a90f1c
David Phillips' FD_SETSIZE fix
2004-11-19 08:52:33 +00:00
Daniel Stenberg
dcea109bb5
Dan Fandrich fix: eliminates some pedantic CodeWarrior compiler warnings and
...
errors.
2004-11-18 14:04:40 +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
a00e7f0f5e
Tomas Pospisek filed bug report #1053287 that proved -C - and --fail on a
...
file that was already completely downloaded caused an error, while it
doesn't if you don't use --fail! I added test case 194 to verify the fix.
Grrr. CURLOPT_FAILONERROR is now added to the list stuff to remove in
libcurl v8 due to all the kludges needed to support it.
2004-10-25 11:28:40 +00:00
Daniel Stenberg
38b1d96750
Alexander Krasnostavsky made it possible to make FTP 3rd party transfers with
...
both source and destination being the same host. It can be useful if you want
to move a file on a server or similar.
2004-10-19 18:26:35 +00:00
Daniel Stenberg
9a2aed7d7a
Chih-Chung Chang reported that if you use CURLOPT_RESUME_FROM and enabled
...
CURLOPT_FOLLOWLOCATION, libcurl reported error if a redirect happened even if
the new URL would provide the resumed file. Test case 188 added to verify the
fix (together with existing test 99).
2004-10-06 13:37:12 +00:00
Daniel Stenberg
25bf23105d
Location: problem with bad original URL, identified in bug report #1029478
2004-09-16 21:28:38 +00:00
Daniel Stenberg
6c3a87a599
no longer includes getdate.h, there's no need for it
2004-09-13 20:47:31 +00:00
Daniel Stenberg
05825a8a9f
Make "Proxy-Connection: close" close the current proxy connection, as
...
Roman Koifman found out.
2004-08-30 12:51:32 +00:00
Daniel Stenberg
cd52b9f0da
Alexander Krasnostavsky made the write callback get called even when a zero
...
byte file is downloaded.
2004-08-20 12:09:09 +00:00
Daniel Stenberg
9dbd6659dc
more typecasts to please picky compilers
2004-08-10 06:41:13 +00:00
Daniel Stenberg
827a805966
typecast the assigment of an unsigned variable to a signed one to prevent
...
picky warnings
2004-08-09 08:29:39 +00:00
Daniel Stenberg
e23ba31eb9
->fread() should get a size_t variable passed in
2004-08-09 08:28:17 +00:00
Daniel Stenberg
cd2e99e980
deal with negative Content-Length: headers by ignoring the info
2004-07-16 21:01:16 +00:00
Daniel Stenberg
090b89cc76
Variable type cleanups to please the picky MIPSPro compiler.
2004-07-01 08:10:21 +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
dca6386234
pass an int pointer when it expects an int pointer...
2004-06-22 06:50:41 +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
a76288b99a
Alexander Krasnostavsky fixed a flaw in the 3rd party transfer code that
...
didn't properly check return code.
2004-06-16 09:05:22 +00:00
Daniel Stenberg
90037b85d1
Alexander Krasnostavsky's fix to make libcurl build fine with configure
...
--disable-http, which thus builds a libcurl without HTTP support.
2004-06-09 08:23:55 +00:00
Daniel Stenberg
ea81dd9e2e
Alexander Krasnostavsky's FTP third party transfer (proxy) support
2004-06-03 11:41:05 +00:00
Daniel Stenberg
fd802db39f
initial support for "uploading" to file:// URLs
2004-05-25 21:47:29 +00:00
Daniel Stenberg
8001921112
I made Curl_done() take a pointer-pointer in the first argument instead, and
...
if the connection is killed it blanks the pointer it points to, to make it
easier to detect usage problems whereever Curl_done() is used.
2004-05-17 08:05:46 +00:00
Daniel Stenberg
6176f14141
fixed a warning on IRIX, deleted trailing whitespace
2004-05-17 06:50:08 +00:00
Daniel Stenberg
d60c22572b
Curl_done() and the protocol-specific conn->curl_done() functions now all
...
take a CURLcode as a second argument, that is non-zero when Curl_done()
is called after an error was returned from Curl_do() (or similar).
2004-05-12 12:06:39 +00:00
Daniel Stenberg
a219d774fe
even if Curl_do() fails, we must call Curl_done() to do proper cleaning up
2004-05-12 09:02:54 +00:00
Daniel Stenberg
c9bab31a7f
use size_t better for buffer and alloc lengths
2004-05-12 08:00:21 +00:00
Daniel Stenberg
853134017d
minor leak in case of error, thanks to "./runtests.pl -n -t 25"
2004-05-11 14:53:24 +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
4d9517f0b4
prevent warnings when using the gcc option -Wunreachable-code
2004-05-05 06:57:26 +00:00
Daniel Stenberg
fc6eff13b5
General HTTP authentication cleanup and fixes
2004-05-04 07:52:53 +00:00
Daniel Stenberg
4b9f8e766d
Made host name and proxy name get stored in a 'struct hostname' and set
...
all things up to work with encoded host names internally, as well as keeping
'display names' to show in debug messages. IDN resolves work for me now using
ipv6, ipv4 and ares resolving. Even cookies on IDN sites seem to do right.
2004-04-27 13:56:23 +00:00
Daniel Stenberg
712c67b4ae
no longer include curl/types.h, it serves no purpose
2004-04-26 14:02:51 +00:00
Daniel Stenberg
9befc682ee
added many comments
2004-04-26 07:12:52 +00:00
Daniel Stenberg
2ff30d067c
- David Byron found and fixed a small bug with the --fail and authentication
...
stuff added a few weeks ago. Turns out that if you specify --proxy-ntlm and
communicate with a proxy that requires basic authentication, the proxy
properly returns a 407, but the failure detection code doesn't realize it
should give up, so curl returns with exit code 0. Test case 162 verifies
this.
2004-04-22 20:07:41 +00:00
Daniel Stenberg
1401d909e8
Fix the "lingering close" problem when re-using a connection, as test case
...
160 shows.
We got no data and we attempted to re-use a connection. This might happen if
the connection was left alive when we were done using it before, but that was
closed when we wanted to read from it again. Bad luck. Retry the same request
on a fresh connect!
Deleted the sockerror variable again, it serves no purpose anymore.
2004-04-21 08:49:14 +00:00
Daniel Stenberg
b7a7600465
Cleaned up hostname/name/gname and path/ppath confusion. Removed the fixed-
...
length limit of the hostname part of the URL.
2004-04-20 07:53:24 +00:00
Daniel Stenberg
ee7d1d0701
remove an long time #defined struct member and use the actual "real" name
...
instead to make it easier to find/read
2004-04-13 07:37:28 +00:00
Daniel Stenberg
72b1144b8c
getting only a 100 Continue response and nothing else, when talking HTTP,
...
is now treated as an error by libcurl
2004-04-07 14:27:54 +00:00
Daniel Stenberg
cf1f46e1ca
renamed the strtoofft() macro to curlx_strtoofft() to adjust to the curlx_*
...
concept, and added lib/README.curlx to explain details about it
2004-04-07 07:30:40 +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
8e92600ddd
David Byron made CURLOPT_FAILONERROR work with authentications such as NTLM
...
or Digest.
2004-03-30 06:40:01 +00:00
Daniel Stenberg
76c36688d0
Makes CURLINFO_CONTENT_LENGTH_DOWNLOAD work even if CURLOPT_NOBODY is set
...
true.
2004-03-22 22:38:12 +00:00
Daniel Stenberg
fc67cca882
removed the min() macro define
2004-03-16 09:16:38 +00:00
Daniel Stenberg
e545e33d5f
Gisle Vanem's fixes to use CURL_SOCKET_BAD more instead of -1 for sockets.
2004-03-11 13:13:35 +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
7225b14002
curl_socket_t mistakes cleanup
2004-03-10 16:01:47 +00:00
Daniel Stenberg
ce5805a955
Use curl_socket_t instead of int for holding sockets. The typedefs and
...
defines are in setup.h.
2004-03-09 22:52:50 +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
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
71d81f1f75
Now uses CURL_FORMAT_OFF_T instead of %Od
...
Fixed the check for bad resumes. Made test case 99 work and proved a bug
in test case ... eh, was it 32?
2004-03-01 16:27:34 +00:00
Daniel Stenberg
a39669198f
we call the macro CURLMAX() isntead of MAX(), just because it turned up
...
it collides with another MAX define on some platforms (like netbsd 1.6.1)
2004-02-20 08:47:23 +00:00
Daniel Stenberg
9efddfedab
removed some "jhrg" from comments
2004-02-18 15:28:56 +00:00
Daniel Stenberg
f3d91528a1
CURLcode/int cleanup to reduce IRIX warnings
...
Removed some dates/names in the comments.
2004-02-15 13:48:28 +00:00
Daniel Stenberg
e7d9ea8919
Greg Hewgill found out 'contentlength' wasn't big enough to hold a large file!
2004-02-13 07:12:40 +00:00
Daniel Stenberg
e5165af5a6
The MIPSPro compiler complains on constructs such as "(void)foo;" so
...
we avoid it where possible.
2004-02-06 07:59:16 +00:00
Daniel Stenberg
b84eaff1d5
set the 'retry' bit to TRUE when the connection is about to be retried,
...
this allows the HTTP code to *not* return a failure just because no data
has been received from the server
2004-02-02 14:49:54 +00:00
Daniel Stenberg
14cb9d296c
make sure the connection is closed when it was detected reset!
2004-01-30 12:41:27 +00:00
Daniel Stenberg
df750c236c
Somewhat crude attempt at fixing the test 91 failures. I commit this now
...
so that the automatic testing hosts will test these changes over the weekend.
2004-01-30 12:08:18 +00:00
Daniel Stenberg
958987c214
Chunked-transfers should have an additional CRLF after the final 0 CRLF
...
sequence.
2004-01-28 17:07:22 +00:00
Daniel Stenberg
b791e158f0
use curl_off_t instead of off_t!
2004-01-22 12:45:50 +00:00
Daniel Stenberg
e262a7265a
use the proper timecond defines, not the obsolete ones!
2004-01-21 08:47:21 +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
6c6e5522cb
redirect from a bad url such as "www.com?moo=foo" to an absolute path didn't
...
work, as reported by John McGowan
2003-12-18 09:19:10 +00:00
Daniel Stenberg
a13f85fb33
assert that we get a good index to Curl_transfer()
2003-12-10 15:27:27 +00:00
Daniel Stenberg
0f4d042d3e
Ignore content-length when chunked transfer-encoding is transfered.
2003-12-03 07:52:00 +00:00
Daniel Stenberg
1b99d33b59
fix compiler warnings
2003-12-02 13:40:12 +00:00
Daniel Stenberg
2cf209d3f7
If HAVE_MSG_NOSIGNAL is set, we use MSG_NOSIGNAL when we call send() and
...
recv() and we no longer attempt to ignore the SIGPIPE signal.
2003-12-02 10:12:44 +00:00
Daniel Stenberg
1e98727c55
FTPS support added as RFC2228 and the murray-ftp-auth-ssl draft describe it
2003-11-24 07:15:37 +00:00
Daniel Stenberg
3fed12a203
combine the two identical cases
2003-11-20 14:16:18 +00:00
Daniel Stenberg
bd4c081157
unitialized variable fix, reported by both Marty Kuhrt and benjamin gerard
2003-11-06 07:55:45 +00:00
Daniel Stenberg
a5e22867c7
Resuming a download of an already downloaded document, that is trying to get
...
a range of a document beyond its size, caused libcurl to "hang" until the
server closed the connection and then it returned error 18.
This is bad. This way, we don't return any error at all, which isn't nice
either, as we need to alert the app somehow that the request range was out
of size.
2003-10-24 21:54:34 +00:00
Daniel Stenberg
b439e8ffb7
Do the auth stuff at the end-of-headers and not at the start-of-body, as
...
we might not get a body when we get a 401 with a set of WWW-Authenticate:
headers. This fixes the problem Kevin Roth detected in 7.10.8-pre4 and pre5.
Verified by test case 91.
2003-10-22 11:15:48 +00:00
Daniel Stenberg
80a06403e4
fixed gcc -Wshadow warnings
2003-10-18 20:28:53 +00:00
Daniel Stenberg
ce5db9a86e
Dominick Meglio implemented CURLOPT_MAXFILESIZE and --max-filesize.
2003-10-17 13:11:00 +00:00
Daniel Stenberg
22adcb9cd1
password promting support removed from libcurl
2003-10-16 14:08:59 +00:00
Daniel Stenberg
749f5387c1
Gisle Vanem's IPv6-on-Windows patch applied!
2003-10-14 12:00:45 +00:00
Daniel Stenberg
52ceab5e41
Re-arranged code to make the proxy-CONNECT loop able to do some of the
...
authentication negotiations needed for NTLM, Digest etc.
2003-09-03 21:51:28 +00:00
Daniel Stenberg
3938e0f58b
typecast to prevent compiler warning
2003-08-29 08:43:06 +00:00
Daniel Stenberg
734e8d6229
transfer fix for multi interface
2003-08-20 15:39:49 +00:00
Daniel Stenberg
acbcd68d89
Curl_SSL_InitSessions can return error, so check the return code and bail
...
out if necessary
2003-08-14 15:06:36 +00:00
Daniel Stenberg
7a19923afa
Serge Semashko added CURLOPT_PROXYAUTH support, and now NTLM for proxies
...
work.
2003-08-11 11:47:45 +00:00
Daniel Stenberg
96e217b496
the new cookie functions that require 'data' passed in
2003-08-11 09:56:06 +00:00
Daniel Stenberg
c704d1545c
include "share.h" for the cookie sharing
2003-08-06 15:26:24 +00:00
Daniel Stenberg
b73612392d
ares awareness/usage/support added. If configure --enable-ares is used, we
...
build libcurl to use ares for asynch name resolves.
2003-08-05 14:40:59 +00:00
Daniel Stenberg
41ae97e710
Dirk Manske's patch that introduces cookie support to the share interface.
2003-08-04 15:02:42 +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
fb731eb3e7
The NTLM functions now take a 'proxy' argument as well.
2003-07-22 09:58:57 +00:00
Daniel Stenberg
79749f8eb4
Fix to the endless loop of bad Basic authentication as reported in Cris
...
Bailiff's bug report 768275.
2003-07-15 23:06:02 +00:00
Daniel Stenberg
45fc760985
Peter Sylvester's patch was applied that introduces the following:
...
CURLOPT_SSL_CTX_FUNCTION to set a callback that gets called with the
OpenSSL's ssl_ctx pointer passed in and allow a callback to act on it. If
anything but CURLE_OK is returned, that will also be returned by libcurl
all the way back. If this function changes the CURLOPT_URL, libcurl will
detect this and instead go use the new URL.
CURLOPT_SSL_CTX_DATA is a pointer you set to get passed to the callback set
with CURLOPT_SSL_CTX_FUNCTION.
2003-07-04 16:29:23 +00:00
Daniel Stenberg
2d3734b8b5
Adjusted to work properly with the new authentication stuff
...
Added code to deal with white spaces in relocation headers.
2003-06-26 11:30:26 +00:00
Daniel Stenberg
d13202f43b
modified
2003-06-12 23:03:08 +00:00
Daniel Stenberg
bc67228576
corrected a comment
2003-06-12 17:40:56 +00:00
Daniel Stenberg
ecf32c964a
CURLHTTP* renamed to CURLAUTH* and NEGOTIATE is now GSSNEGOTIATE as there's
...
a "plain" Negotiate as well.
2003-06-12 17:34:27 +00:00
Daniel Stenberg
80d6d5c5c4
fixing details for NTLM
2003-06-11 16:14:45 +00:00
Daniel Stenberg
5ea04a852e
when we get the auth headers, we still need to read out the full body response
...
as otherwise we can re-send requests on the same connection nicely
2003-06-11 15:30:30 +00:00
Daniel Stenberg
73c5f24fa4
Initial take at NTLM authentication. It doesn't really work at this point
...
but the infrastructure is there.
2003-06-11 13:38:55 +00:00
Daniel Stenberg
e56ae1426c
Daniel Kouril's patch that adds HTTP negotiation support to libcurl was
...
added.
2003-06-10 12:22:19 +00:00
Daniel Stenberg
06984df5cb
Make the Content-Length info override the Connection: close header, so that
...
libcurl will stop reading when the number of bytes have arrived and not wait
for a closed socket.
2003-06-02 14:57:08 +00:00
Daniel Stenberg
4eb2a6c9a3
make a more descriptive error message when CURLE_HTTP_RETURNED_ERROR is
...
returned
2003-06-02 13:14:57 +00:00
Daniel Stenberg
b2ef79ef3d
Rudy Koento's problem fixed, test case 66 verifies this.
2003-05-23 09:47:57 +00:00
Daniel Stenberg
a39d77227f
Better Digest stuff
2003-05-22 22:39:38 +00:00
Daniel Stenberg
334d78cd18
Initial Digest support. At least partly working.
2003-05-22 16:09:54 +00:00
Daniel Stenberg
c0197f19cf
Dan Fandrich changed CURLOPT_ENCODING to select all supported encodings if
...
set to "". This frees the application from having to know which encodings
the library supports.
2003-05-12 12:45:14 +00:00
Daniel Stenberg
9371aed46c
avoid the write loop
2003-05-12 12:37:05 +00:00
Daniel Stenberg
19a4314e7f
corrected a comment about gzip not being supported
2003-05-01 17:49:47 +00:00
Daniel Stenberg
3fb257c39c
modified to the new cookie function proto
2003-04-30 17:05:19 +00:00
Daniel Stenberg
a84b0fbd52
Dan Fandrich corrected the error messages on "bad encoding".
2003-04-22 22:33:39 +00:00
Daniel Stenberg
019c4088cf
Dan Fandrich's gzip patch applied
2003-04-11 08:49:20 +00:00
Daniel Stenberg
1a2db0dfb1
James Bursa fixed a flaw in the content-type extracting code that could
...
miss the first letter
2003-04-08 14:48:38 +00:00
Daniel Stenberg
5ddc260fc2
No longer loop to read multiple times before returning back from the transfer
...
function, as this could easily end up looping for a very long time (more or
less until the whole transfer was done) and no library-using app would want
that.
Found thanks to a report by Kyle Sallee.
2003-02-26 12:42:25 +00:00
Daniel Stenberg
a6206a3aef
Fixes to bring back the the "Expect: 100-continue" functionality. If the
...
header is used, we must wait for a 100-code (or timeout), before we send the
data. The timeout is merely 1000 ms at this point. We may have reason to set
a longer timeout in the future.
2003-02-24 16:53:53 +00:00
Daniel Stenberg
b0b50bd12a
typecast the argument to isspace() to an int to prevent warnings on some
...
compilers
2003-01-30 06:06:24 +00:00
Daniel Stenberg
169b2eeb94
Fixes bug #669059 . We now extract the Content-Type better and more accurate.
2003-01-30 05:04:02 +00:00
Daniel Stenberg
30a46e1135
John McGowan found a problem where the DEBUGFUNCTION was called with bad
...
data on uploads.
2003-01-29 12:52:45 +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
2b054e5309
Bertrand Demiddelaer found and fixed this memory leak.
2003-01-24 11:13:59 +00:00
Daniel Stenberg
dee3163d95
when a chunked error is noticed, store the error number in the error string
...
to enable better error-tracking
2003-01-21 16:03:38 +00:00
Daniel Stenberg
5a83976c99
Markus F.X.J. Oberhumer's patch that reduces memory usage quite a bit by
...
only allocating the scratch memory buffer once it is needed and not always
in the handle.
2003-01-20 12:52:34 +00:00
Daniel Stenberg
f26a338a54
copyright year update in the source header
2003-01-16 21:08:12 +00:00
Daniel Stenberg
63667dfd96
no TABs in source code
2003-01-15 11:44:33 +00:00
Daniel Stenberg
ec24efda74
Simon Liu's HTTP200ALIASES-patch!
2003-01-07 16:15:53 +00:00
Daniel Stenberg
efbe930a69
CURLE_HTTP_NOT_FOUND => CURLE_HTTP_RETURNED_ERROR
2002-12-18 16:51:02 +00:00
Daniel Stenberg
db6ff224f8
The initial HTTP request can now be sent in multiple parts, as part of the
...
regular transfer process. This required some new tweaks, like for example
we need to be able to tell the tranfer loop to not chunky-encode uploads
while we're transferring the rest of the request...
2002-12-10 13:10:00 +00:00
Daniel Stenberg
4bcc866c52
The fread() callback pointer and associated pointer is now stored in the
...
connectdata struct instead, and is no longer modified within the 'set' struct
as previously (which was a really BAAAD thing).
2002-12-09 15:37:54 +00:00
Daniel Stenberg
f6cdb820af
read and write as much as possible until end of data or EWOULDBLOCK before
...
returning back to the select() loop. Consider this a test so far.
2002-12-05 14:26:30 +00:00
Daniel Stenberg
1c49a00d64
compareheader() was moved over to http.c and got a Curl_ prefix
...
The chunked transfer upload never stopped due to a silly add before we checked
for >0!
2002-11-28 15:46:22 +00:00
Daniel Stenberg
42acb00c81
moved the bools in the connectdata struct into the substruct named
...
ConnectBits where the other bools already are
2002-11-11 23:03:03 +00:00
Daniel Stenberg
03c22b4576
Now supports "Transfer-Encoding: chunked" for HTTP PUT operations where the
...
size of the uploaded file is unknown.
2002-11-11 08:40:37 +00:00
Daniel Stenberg
cdba92ac3c
when using checkprefix(), the first argument must be the prefix!
2002-10-28 22:19:23 +00:00
Daniel Stenberg
6d28f92ffe
Transfer-Encoding: needs 17 bytes passed, not 18
2002-10-28 21:52:27 +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
b5a74715cf
bad headers can come in two kinds, we either treat everything as one big
...
badly assumed header, or we think that parts of the buffer is a bad header
and the rest is treated as a normal body part
2002-10-23 13:48:37 +00:00
Daniel Stenberg
0fa512f26d
Nikita Schmidt's fix to debian bug report #165382 . This is verified with
...
the new test case 55.
2002-10-21 12:07:02 +00:00
Daniel Stenberg
9e612b5550
make very sure that we return 'done' properly when a transfer is done, as
...
otherwise the multi interface gets problems
2002-10-18 15:28:33 +00:00
Daniel Stenberg
45bd009bb1
if we found no string on the Location: line, don't try to follow it
2002-10-18 13:51:00 +00:00
Daniel Stenberg
156aad198f
Make the COOKIESESSION work better by creating a list of cookie files files
...
when given in the curl_easy_setopt() and then parse them all on the first
curl_easy_perform() call instead.
2002-10-17 07:10:39 +00:00
Daniel Stenberg
265c58611f
When we receive a "bad header" we must sure not to write down the data part
...
as well, as then we write the same data twice.
2002-10-11 20:55:08 +00:00
Daniel Stenberg
c3cc616264
Junk data could get inserted when saving/getting HTTP headers, as discovered
...
by Craig Davison. Now we deal with the 'nread' variable correctly between
each header line.
2002-10-09 13:03:51 +00:00
Daniel Stenberg
5f649a1649
Move the URL concat code to Curl_follow(), and added a proto for that
...
function. For Location: following.
2002-10-07 13:38:34 +00:00
Daniel Stenberg
3d5820648b
as Ralph Mitchell pointed out, the Location: following code needs some
...
basic ./ and ../ strip-off understanding, and this change introduces with.
test cases 49 - 52 test this.
2002-10-04 14:15:01 +00:00
Daniel Stenberg
5b3069e265
spell fix comment
2002-09-23 12:55:36 +00:00
Daniel Stenberg
fb5d267bd0
a follow-up fix to the previous fix for HTTP servers that don't reply *any*
...
headers at all
2002-09-16 14:02:08 +00:00
Daniel Stenberg
c19844a0a3
better deal with HTTP(S) servers that respond with no headers at all, test
...
case 306 added to verify that we do right
2002-09-13 12:40:36 +00:00
Daniel Stenberg
371da7132f
remove redundant comment
2002-09-09 11:23:13 +00:00
Daniel Stenberg
ba4e69bebc
updated source code boilerplate/header
2002-09-03 11:52:59 +00:00
Daniel Stenberg
64bbe9dfaf
James Gallagher's Content-Encoding work
2002-09-02 22:31:18 +00:00
Daniel Stenberg
7140baae72
remove the data and conn fields from the Curl_transfer_keeper struct, they
...
weren't used anyway and mostly caused confusion
2002-08-29 06:09:21 +00:00
Daniel Stenberg
4cf953678d
Markus F.X.J. Oberhumer's CURLOPT_NOSIGNAL patch
2002-08-08 22:52:50 +00:00
Daniel Stenberg
108cb14d1f
Make SessionHandle keep record if it is used with the multi interface or
...
the easy interface, it CANNOT be used by a mixture.
2002-08-05 17:04:39 +00:00
Daniel Stenberg
7313501e30
fixed the Curl_cookie_add() invoke to not assume a space after the colon
2002-07-29 22:23:55 +00:00
Daniel Stenberg
e54e0c7877
CURLOPT_BUFFERSIZE allows an application to set a prefered buffer size
...
for receiving data from the network. It is meant as a hint, not as a forced
limit.
2002-06-15 21:00:54 +00:00
Daniel Stenberg
407583e8e2
Moved the secondarysocket cleanup. The 'conn' struct may have been cleared
...
already at that other place.
2002-06-12 22:04:25 +00:00
Daniel Stenberg
d866716565
Gautam Mani found a socket descriptor leak that happened when FTP transfers
...
failed and you reinvoked curl_easy_perform().
2002-06-10 12:34:04 +00:00
Daniel Stenberg
99c0456872
Adjusted to make curl_multi_perform() work properly even when
...
curl_multi_fdset() is not used.
2002-05-28 14:18:36 +00:00
Daniel Stenberg
44debdde62
Better support for being used with the multi interface without the *fd_set()
...
and proper select()ing have been made.
2002-05-05 12:11:03 +00:00
Daniel Stenberg
86cc34c0de
made the DEBUGFUNCTION get called properly on a few more places, especially
...
for DATA_IN and DATA_OUT.
2002-05-03 12:07:32 +00:00
Daniel Stenberg
913e997061
use and set the fd_set pointers instead of the actual values, as then we
...
work properly with the multi interface when the user has provided the
fd_sets!
2002-05-02 22:14:31 +00:00
Daniel Stenberg
35d04c5398
Hanno Kranzhoff noticed we didn't properly reset the download/upload counters
...
before transfers, when doing multiple ones on the same handle.
2002-05-02 08:52:09 +00:00
Daniel Stenberg
08f8917acb
Dirk Manske's fix for HTTP response code 301, that now behaves more like
...
browsers do. Which thus *breaks* the RFC 2616...
2002-04-17 07:16:49 +00:00
Daniel Stenberg
62d205a2ec
Dirk Manske brought the patch that introduces two new CURLINFO_* values:
...
CURLINFO_REDIRECT_TIME and CURLINFO_REDIRECT_COUNT.
2002-04-16 07:59:20 +00:00
Daniel Stenberg
29e873b12d
Jonatan Lander fixed the "Disables POST, goes with GET" output to be more
...
connected with reality! ;-)
2002-04-15 13:47:06 +00:00
Daniel Stenberg
e8109b09b1
error code cleanup, use the new SEND/RECV errors
2002-04-10 13:44:42 +00:00
Daniel Stenberg
5d28a857a4
based on Jacky Lam's "HTTP 1.0 304-only" fix, this change makes a 304 reply
...
always stop reading after the headers no matter what 'close' is.
2002-04-08 07:27:22 +00:00
Daniel Stenberg
1cfcbc50a6
Fixes the problem Jacky Jam pointed out, where libcurl will "hang" for an
...
extra second after having downloaded headers-only
2002-04-04 12:19:56 +00:00
Daniel Stenberg
854277bae5
crlf replacement on uploads did not work. test case 128 was added just now
...
to make sure it remains functional.
2002-03-20 10:53:24 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00
Daniel Stenberg
5f758fbd11
make sure we return CURLE_WRITE_ERROR if the write callback returned
...
an error, even if we were decoding a chunked-encoded transfer
2002-03-15 12:42:41 +00:00
Daniel Stenberg
cfdb6f851c
2002
2002-03-14 14:37:41 +00:00
Daniel Stenberg
ea8476a2dc
Ralph Mitchell's SSL problems made me notice that we didn't increase the
...
header byte counter properly
2002-02-28 15:13:35 +00:00
Daniel Stenberg
a333bddeeb
Andrs Garca solved bug report #515228 by making sure the progress meter
...
is updated even if everything is read in one single pass, as the windows
functions apparantly does more often than other systems.
2002-02-20 13:38:34 +00:00
Daniel Stenberg
e9bfef0eb1
Brent Beardsley found the content-type bug!
2002-02-06 07:02:13 +00:00
Daniel Stenberg
a4934387d5
upload progress counter fix, removed the adjustable upload buffer size
2002-01-29 20:28:59 +00:00
Daniel Stenberg
76c53c690c
Giaslas Georgios introduced CURLINFO_CONTENT_TYPE
2002-01-29 10:49:32 +00:00
Daniel Stenberg
4146ce8267
bug report #508235 identified a non-working Location: following, and this
...
little fix seems to correct it. another case where we just returned and
didn't shut off the reading. This bug is introduced in 7.9.3 due to the
new internal "order".
2002-01-25 08:35:49 +00:00
Daniel Stenberg
2db894807b
Andrs Garca found out that we didn't properly stop reading from a connection
...
after the headers on a HEAD request. This bug has been added in 7.9.3 and was
mnot present earlier.
2002-01-23 07:15:32 +00:00
Daniel Stenberg
8d07c87be7
modified to deal with the new non-blocking versions of Curl_read() and
...
Curl_write().
2002-01-16 14:50:53 +00:00
Daniel Stenberg
4931fbce49
Curl_read() now returns a negative return code if EWOULDBLOCK or similar
2002-01-14 23:14:59 +00:00
Daniel Stenberg
1de82b220d
removed silly check for >=0 of a supposedly unsigned value!
2002-01-07 22:46:38 +00:00
Daniel Stenberg
c69c0c0446
added proper breaks in the switch()
2002-01-07 15:24:52 +00:00
Daniel Stenberg
e31a306a38
HTTP response 204 should be treated similar to 304, that is we must not
...
expect (nor read) any response-body
2002-01-07 14:57:18 +00:00
Daniel Stenberg
8b6314ccfb
merged the multi-dev branch back into MAIN again
2002-01-03 15:01:22 +00:00
Daniel Stenberg
7ee6a9dc25
i'm soooo funny
2001-12-04 09:14:41 +00:00
Daniel Stenberg
ca0fd33d2d
Georg Horn's STARTTRANSFER_TIME patch
2001-11-20 15:00:50 +00:00
Daniel Stenberg
fe3a78ab19
we use signal() to ignore signals only as long as we have to, and we now
...
restore the previous (if any) signal handler properly on return.
2001-11-07 14:13:29 +00:00
Daniel Stenberg
2e32d415c0
myalarm() is history, we now use HAVE_ALARM and we now do our very best to
...
1 - restore the previous sigaction struct as soon as we are about to shut
off our timeout
2 - restore the previous alarm() timeout, in case an application or similar
had it running before we "borrowed" it for a while.
No, this does not fix the multi-thread problem you get with alarm(). This
patch should correct bug report #478780 :
//sourceforge.net/tracker/?func=detail&atid=100976&aid=478780&group_id=976
If not, please post details!
2001-11-06 19:33:13 +00:00
Daniel Stenberg
4163b86cd2
failf() now only overwrites the error buffer the first time it gets called
...
for each *_perform(). It makes things a lot easier, as the first one that
detects the error get to write the final error reason...
2001-11-02 22:30:34 +00:00
Daniel Stenberg
617d6eb7ce
Update the byte counters in the loop so that aborted transfers have the
...
information as well. Improves debug outputs etc.
2001-11-01 12:18:53 +00:00
Daniel Stenberg
542055074b
If Curl_do() fails with CURLE_WRITE_ERROR on a re-used connection, this
...
new logic can retry the same operation on a new connection!
2001-10-31 15:13:19 +00:00
Daniel Stenberg
29b76a52fb
failed transfers will now close the connection
2001-10-22 06:34:14 +00:00
Daniel Stenberg
4e37187e44
now counts header size return from server and if nothing is returned from a
...
HTTP server we return error
2001-10-19 11:58:32 +00:00
Daniel Stenberg
45cc78fdbc
CURLOPT_FAILONERROR now only returns error if the HTTP code is 400 or above
...
unconditionalliy. Previously, the code check was for >= 300 unless follow-
location was enabled...
2001-10-19 06:27:24 +00:00
Daniel Stenberg
db0e3cc60c
call Curl_done() in Curl_perform() after Transfer() was called, even it it
...
returned an error as there might be stuff in there we must free/cleanup.
This fixes the memory leak Yanick Pelletier posted about 16 Oct 2001
2001-10-17 12:24:51 +00:00
Daniel Stenberg
2c5e416591
better check for absolute URL redirects, adjusted to new Curl_tvdiff() proto
2001-10-12 12:30:06 +00:00
Sterling Hughes
8e91d5de8e
looks nicer and is better compatible with older vim versions
2001-10-11 09:32:19 +00:00