platform/upstream/curl.git
11 years agopackages/vms/Makefile.am: add latest file additions to EXTRA_DIST
Yang Tse [Wed, 7 Aug 2013 10:21:56 +0000 (12:21 +0200)]
packages/vms/Makefile.am: add latest file additions to EXTRA_DIST

11 years agoBuilding_vms_pcsi_kit
John Malmberg [Wed, 7 Aug 2013 04:10:40 +0000 (23:10 -0500)]
Building_vms_pcsi_kit

These are the files needed to build VMS distribution packages known as
PCSI kits.

Also minor update to the existing files, mainly to the documentation and
file clean up code.

11 years agoLIBCURL-STRUCTS: new document
Daniel Stenberg [Tue, 6 Aug 2013 12:13:33 +0000 (14:13 +0200)]
LIBCURL-STRUCTS: new document

This is the first version of this new document, detailing the seven
perhaps most important internal structs in libcurl source code:

  1.1 SessionHandle
  1.2 connectdata
  1.3 Curl_multi
  1.4 Curl_handler
  1.5 conncache
  1.6 Curl_share
  1.7 CookieInfo

11 years agoCONTRIBUTE: minor language polish
Daniel Stenberg [Tue, 6 Aug 2013 12:12:45 +0000 (14:12 +0200)]
CONTRIBUTE: minor language polish

11 years agoFTP: when EPSV gets a 229 but fails to connect, retry with PASV
Daniel Stenberg [Mon, 5 Aug 2013 21:49:53 +0000 (23:49 +0200)]
FTP: when EPSV gets a 229 but fails to connect, retry with PASV

This is a regression as this logic used to work. It isn't clear when it
broke, but I'm assuming in 7.28.0 when we went all-multi internally.

This likely never worked with the multi interface. As the failed
connection is detected once the multi state has reached DO_MORE, the
Curl_do_more() function was now expanded somewhat so that the
ftp_do_more() function can request to go "back" to the previous state
when it makes another attempt - using PASV.

Added test case 1233 to verify this fix. It has the little issue that it
assumes no service is listening/accepting connections on port 1...

Reported-by: byte_bucket in the #curl IRC channel
11 years agomd5: remove use of CommonCrypto-to-OpenSSL macros for the benefit of Leopard
Nick Zitzmann [Tue, 6 Aug 2013 01:47:56 +0000 (19:47 -0600)]
md5: remove use of CommonCrypto-to-OpenSSL macros for the benefit of Leopard

For some reason, OS X 10.5's GCC suddenly stopped working correctly with
macros that change MD5_Init etc. in the code to CC_MD5_Init etc., so I
worked around this by removing use of the macros and inserting static
functions that just call CommonCrypto's implementations of the functions
instead.

11 years agoSimplify check for trusted certificates.
Guenter Knauf [Mon, 5 Aug 2013 11:02:27 +0000 (13:02 +0200)]
Simplify check for trusted certificates.

This changes the previous check for untrusted certs to a check for
certs explicitely marked as trusted.
The change is backward-compatible (tested with certdata.txt v1.80).

11 years agoconfigure: warn on bad env variable use, don't error
Daniel Stenberg [Mon, 5 Aug 2013 07:31:59 +0000 (09:31 +0200)]
configure: warn on bad env variable use, don't error

Use XC_CHECK_BUILD_FLAGS instead XC_CHECK_USER_FLAGS.

11 years agoRevert "configure: don't error out on variable confusions, just warn"
Daniel Stenberg [Mon, 5 Aug 2013 07:28:44 +0000 (09:28 +0200)]
Revert "configure: don't error out on variable confusions, just warn"

This reverts commit 6b27703b5f525eccdc0a8409f51de8595c75132a.

11 years agoformadd: wrong pointer for file name when CURLFORM_BUFFERPTR used
Daniel Stenberg [Sun, 4 Aug 2013 21:27:27 +0000 (23:27 +0200)]
formadd: wrong pointer for file name when CURLFORM_BUFFERPTR used

The internal function that's used to detect known file extensions for
the default Content-Type got the the wrong pointer passed in when
CURLFORM_BUFFER + CURLFORM_BUFFERPTR were used. This had the effect that
strlen() would be used which could lead to an out-of-bounds read (and
thus segfault). In most cases it would only lead to it not finding or
using the correct default content-type.

It also showed that test 554 and test 587 were testing for the
previous/wrong behavior and now they're updated as well.

Bug: http://curl.haxx.se/bug/view.cgi?id=1262
Reported-by: Konstantin Isakov
11 years agoSkip more untrusted certificates.
Guenter Knauf [Sun, 4 Aug 2013 19:30:11 +0000 (21:30 +0200)]
Skip more untrusted certificates.

Christian Heimes brought to our attention that the certdata.txt
format has recently changed [1], causing ca-bundle.crt created
with mk-ca-bundle.[pl|vbs] to include untrusted certs.

[1] http://lists.debian.org/debian-release/2012/11/msg00411.html

11 years agoconfigure: don't error out on variable confusions, just warn
Daniel Stenberg [Sun, 4 Aug 2013 08:28:26 +0000 (10:28 +0200)]
configure: don't error out on variable confusions, just warn

11 years agoconfigure: rephrase the notice in _XC_CHECK_VAR_*
Daniel Stenberg [Sat, 3 Aug 2013 21:39:23 +0000 (23:39 +0200)]
configure: rephrase the notice in _XC_CHECK_VAR_*

Instead of claiming it is an error, we call it a "note" to reduce the
severity level. But the following text now says the [variable] "*should*
only be used to specify"... instead of previously having said "may".

11 years agomulti: remove data->state.current_conn struct field
Daniel Stenberg [Fri, 2 Aug 2013 22:03:52 +0000 (00:03 +0200)]
multi: remove data->state.current_conn struct field

Not needed

11 years agomulti: remove the one_easy struct field
Daniel Stenberg [Fri, 2 Aug 2013 10:25:18 +0000 (12:25 +0200)]
multi: remove the one_easy struct field

Since the merge of SessionHandle with Curl_one_easy, this indirection
isn't used anymore.

11 years agomulti: rename all Curl_one_easy to SessionHandle
Daniel Stenberg [Fri, 2 Aug 2013 10:21:11 +0000 (12:21 +0200)]
multi: rename all Curl_one_easy to SessionHandle

11 years agomulti: remove the multi_pos struct field
Daniel Stenberg [Fri, 2 Aug 2013 10:12:20 +0000 (12:12 +0200)]
multi: remove the multi_pos struct field

Since Curl_one_easy is really a SessionHandle now, this indirection
doesn't exist anymore.

11 years agomulti: remove easy_handle struct field
Daniel Stenberg [Fri, 2 Aug 2013 10:03:39 +0000 (12:03 +0200)]
multi: remove easy_handle struct field

It isn't needed anymore

11 years agomulti: remove 'Curl_one_easy' struct, phase 1
Daniel Stenberg [Thu, 1 Aug 2013 22:09:59 +0000 (00:09 +0200)]
multi: remove 'Curl_one_easy' struct, phase 1

The motivation for having a separate struct that keep track of an easy
handle when using the multi handle was removed when we switched to
always using the multi interface internally. Now they were just two
separate struct that was always allocated for each easy handle.

This first step just moves the Curl_one_easy struct members into the
SessionHandle struct and hides this somehow (== keeps the source code
changes to a minimum) by defining Curl_one_easy to SessionHandle

The biggest changes in this commit are:

 1 - the linked list of easy handles had to be changed somewhat due
     to the new struct layout. This made the main linked list pointer
     get renamed to 'easyp' and there's also a new pointer to the last
     node, called easylp. It is no longer circular but ends with ->next
     pointing to NULL. New nodes are still added last.

 2 - easy->state is now called easy->mstate to avoid name collision

11 years agoRevert "DOCS: Added IMAP URL example for listing new messages"
Steve Holme [Fri, 2 Aug 2013 13:25:21 +0000 (14:25 +0100)]
Revert "DOCS: Added IMAP URL example for listing new messages"

This reverts commit 82ab5f1b0c7c3f as this was the wrong place to
document the complexity of IMAP URLs and Custom Requests.

11 years agoDOCS: Added IMAP URL example for listing new messages
Steve Holme [Fri, 2 Aug 2013 09:08:55 +0000 (10:08 +0100)]
DOCS: Added IMAP URL example for listing new messages

In addition to listing the folder contents, in the URL examples, added
an example to list the new messages waiting in the user's inbox.

11 years agopackages/vms/Makefile.am: add latest file additions to EXTRA_DIST
Yang Tse [Thu, 1 Aug 2013 11:57:00 +0000 (13:57 +0200)]
packages/vms/Makefile.am: add latest file additions to EXTRA_DIST

11 years agoAdd in the files needed to build libcurl shared images on VMS.
John Malmberg [Thu, 1 Aug 2013 03:35:19 +0000 (22:35 -0500)]
Add in the files needed to build libcurl shared images on VMS.

Update the packages/vms/readme file to be current.

Also some files for the GNV based build were either missing or needed an
update.

curl_crtl_init.c is a special file that is run before main() to
set up the proper C runtime behavior.

generate_vax_transfer.com generates the VAX transfer vector modules from
the gnv_libcurl_symbols.opt file.

gnv_conftest.c_first is a helper file needed for configure scripts to
come up with the expected answers on VMS.

gnv_libcurl_symbols.opt is the public symbols for the libcurl shared
image.

gnv_link_curl.com builds the shared libcurl image and rebuilds other
programs to use it.

macro32_exactcase.patch is a hack to make a local copy of the VMS Macro32
assembler case sensitive, which is needed to build the VAX transfer modules.

report_openssl_version.c is a tool for help verify that the libcurl
shared image is being built for a minium version of openssl.

11 years agocurl: second follow-up for commit 5af2bfb9
Yang Tse [Thu, 1 Aug 2013 10:25:01 +0000 (12:25 +0200)]
curl: second follow-up for commit 5af2bfb9

Display progress-bar unconditionally on first call

11 years agocurl: follow-up for commit 5af2bfb9
Yang Tse [Wed, 31 Jul 2013 13:36:56 +0000 (15:36 +0200)]
curl: follow-up for commit 5af2bfb9

Use tvnow() and tvdiff() to avoid introducing new linkage issues

11 years agocurl: --progress-bar max update frequency now at 5Hz
Daniel Stenberg [Wed, 31 Jul 2013 07:06:15 +0000 (09:06 +0200)]
curl: --progress-bar max update frequency now at 5Hz

11 years agocurl: make --progress-bar update the line less frequently
Daniel Stenberg [Tue, 30 Jul 2013 22:17:56 +0000 (00:17 +0200)]
curl: make --progress-bar update the line less frequently

Also, use memset() instead of a lame loop.

The previous logic that tried to avoid too many updates were very
ineffective for really fast transfers, as then it could easily end up
doing hundreds of updates per second that would make a significant
impact in transfer performance!

Bug: http://curl.haxx.se/mail/archive-2013-07/0031.html
Reported-by: Marc Doughty
11 years agodarwinssl: added LFs to some strings passed into infof()
Nick Zitzmann [Wed, 31 Jul 2013 02:32:18 +0000 (20:32 -0600)]
darwinssl: added LFs to some strings passed into infof()

(This doesn't need to appear in the release notes.) I noticed a few places
where infof() was called, and there should've been an LF at the end of the
string, but there wasn't.

11 years agodarwinssl: fix build error in crypto authentication under Snow Leopard
Nick Zitzmann [Wed, 31 Jul 2013 02:25:38 +0000 (20:25 -0600)]
darwinssl: fix build error in crypto authentication under Snow Leopard

It turns out Snow Leopard not only has SecItemCopyMatching() defined in
a header not included by the omnibus header, but it won't work for our
purposes, because searching for SecIdentityRef objects wasn't added
to that API until Lion. So we now use the old SecKeychainSearch API
instead if the user is building under, or running under, Snow Leopard.

Bug: http://sourceforge.net/p/curl/bugs/1255/
Reported by: Edward Rudd

11 years agomd5 & metalink: use better build macros on Apple operating systems
Nick Zitzmann [Wed, 31 Jul 2013 02:20:20 +0000 (20:20 -0600)]
md5 & metalink: use better build macros on Apple operating systems

Previously we used __MAC_10_X and __IPHONE_X to mark digest-generating
code that was specific to OS X and iOS. Now we use
__MAC_OS_X_VERSION_MAX_ALLOWED and __IPHONE_OS_VERSION_MAX_ALLOWED
instead of those macros.

Bug: http://sourceforge.net/p/curl/bugs/1255/
Reported by: Edward Rudd

11 years agotool_operhlp.c: fix add_file_name_to_url() OOM handling
Yang Tse [Mon, 29 Jul 2013 16:23:38 +0000 (18:23 +0200)]
tool_operhlp.c: fix add_file_name_to_url() OOM handling

11 years agotool_operate.c: fix brace placement for vi/emacs delimiter matching
Yang Tse [Mon, 29 Jul 2013 14:32:29 +0000 (16:32 +0200)]
tool_operate.c: fix brace placement for vi/emacs delimiter matching

11 years agotool_operate.c: move <fabdef.h> header inclusion location
Yang Tse [Mon, 29 Jul 2013 14:03:46 +0000 (16:03 +0200)]
tool_operate.c: move <fabdef.h> header inclusion location

11 years agoRELEASE-NOTES: synced with b5478a0e033e7
Daniel Stenberg [Mon, 29 Jul 2013 12:51:09 +0000 (14:51 +0200)]
RELEASE-NOTES: synced with b5478a0e033e7

11 years agocurl_easy_pause: on unpause, trigger mulit-socket handling
Daniel Stenberg [Tue, 23 Jul 2013 11:35:57 +0000 (13:35 +0200)]
curl_easy_pause: on unpause, trigger mulit-socket handling

When the multi-socket API is used, we need the handle to be checked
again when it gets unpaused.

Bug: http://curl.haxx.se/mail/lib-2013-07/0239.html
Reported-by: Justin Karneges
11 years agocurl_formadd: fix file upload on VMS
John E. Malmberg [Sun, 28 Jul 2013 21:33:45 +0000 (23:33 +0200)]
curl_formadd: fix file upload on VMS

For the standard VMS text file formats, VMS needs to read the file to
get the actual file size.

For the standard VMS binary file formats, VMS needs a special format of
fopen() call so that it stops reading at the logical end of file instead
of at the end of the blocks allocated to the file.

I structured the patch this way as I was not sure about changing the
structures or parameters to the routines, but would prefer to only call
the stat() function once and pass the information to where the fopen()
call is made.

Bug: https://sourceforge.net/p/curl/bugs/758/

11 years agoformadd: CURLFORM_FILECONTENT wrongly rejected some option combos
Daniel Stenberg [Tue, 23 Jul 2013 20:10:44 +0000 (22:10 +0200)]
formadd: CURLFORM_FILECONTENT wrongly rejected some option combos

The code for CURLFORM_FILECONTENT had its check for duplicate options
wrong so that it would reject CURLFORM_PTRNAME if used in combination
with it (but not CURLFORM_COPYNAME)! The flags field used for this
purpose cannot be interpreted that broadly.

Bug: http://curl.haxx.se/mail/lib-2013-07/0258.html
Reported-by: Byrial Jensen
11 years agopackages/vms/Makefile.am: add latest file additions to EXTRA_DIST
Yang Tse [Thu, 25 Jul 2013 11:18:50 +0000 (13:18 +0200)]
packages/vms/Makefile.am: add latest file additions to EXTRA_DIST

11 years agoVMS: intial set of files to allow building using GNV toolkit.
John E. Malmberg [Thu, 25 Jul 2013 11:04:29 +0000 (13:04 +0200)]
VMS: intial set of files to allow building using GNV toolkit.

11 years agostring formatting: fix too many arguments for format
Yang Tse [Wed, 24 Jul 2013 15:06:28 +0000 (17:06 +0200)]
string formatting: fix too many arguments for format

11 years agostring formatting: fix zero-length printf format string
Yang Tse [Wed, 24 Jul 2013 15:05:02 +0000 (17:05 +0200)]
string formatting: fix zero-length printf format string

11 years agoeasy.c: curl_easy_getinfo() fix va_start/va_end matching
Yang Tse [Wed, 24 Jul 2013 14:45:30 +0000 (16:45 +0200)]
easy.c: curl_easy_getinfo() fix va_start/va_end matching

11 years agoimap.c: imap_sendf() fix va_start/va_end matching
Yang Tse [Wed, 24 Jul 2013 14:44:37 +0000 (16:44 +0200)]
imap.c: imap_sendf() fix va_start/va_end matching

11 years agostring formatting: fix 15+ printf-style format strings
Yang Tse [Wed, 24 Jul 2013 14:43:13 +0000 (16:43 +0200)]
string formatting: fix 15+ printf-style format strings

11 years agoOS400: sync ILE/RPG binding with current curl.h
Patrick Monnerat [Wed, 24 Jul 2013 14:12:35 +0000 (16:12 +0200)]
OS400: sync ILE/RPG binding with current curl.h

11 years agostring formatting: fix 25+ printf-style format strings
Yang Tse [Tue, 23 Jul 2013 13:59:07 +0000 (15:59 +0200)]
string formatting: fix 25+ printf-style format strings

11 years agoMakefile.am: use LDFLAGS as well when linking libcurl
Daniel Stenberg [Tue, 23 Jul 2013 19:51:12 +0000 (21:51 +0200)]
Makefile.am: use LDFLAGS as well when linking libcurl

Linking on Solaris 10 x86 with Sun Studio 12 failed when we upgraded
automake for the release builds.

Bug: http://curl.haxx.se/bug/view.cgi?id=1217
Reported-by: Dagobert Michelsen
11 years agourl.c: Fix dot file path cleanup when using an HTTP proxy
Fabian Keil [Sat, 13 Jul 2013 12:12:18 +0000 (14:12 +0200)]
url.c: Fix dot file path cleanup when using an HTTP proxy

Previously the path was cleaned, but the URL wasn't properly updated.

11 years agotests: test1232 verifies dotdot removal from path with proxy
Fabian Keil [Sat, 13 Jul 2013 12:15:27 +0000 (14:15 +0200)]
tests: test1232 verifies dotdot removal from path with proxy

11 years agodotdot.c: Fix a RFC section number in a comment for Curl_dedotdotify()
Fabian Keil [Sat, 13 Jul 2013 11:20:11 +0000 (13:20 +0200)]
dotdot.c: Fix a RFC section number in a comment for Curl_dedotdotify()

11 years agobuild_vms.com: fix debug and float options
John E. Malmberg [Mon, 22 Jul 2013 20:28:38 +0000 (22:28 +0200)]
build_vms.com: fix debug and float options

In the reorganization of the build_vms.com the debug and float options
were not fixed up correctly.

11 years agocurl: fix upload of a zip file in OpenVMS
John E. Malmberg [Mon, 22 Jul 2013 20:15:27 +0000 (22:15 +0200)]
curl: fix upload of a zip file in OpenVMS

Two fixes:

1. Force output file format to be stream-lf so that partial downloads
can be continued.

This should have minor impact as if the file does not exist, it was
created with stream-lf format.  The only time this was an issue is if
there was already an existing file with a different format.

2. Fix file uploads are now fixed.

   a. VMS binary files such as ZIP archives are now uploaded
      correctly.

   b. VMS text files are read once to get the correct size
      and then converted to line-feed terminated records as
      they are read into curl.

The default VMS text formats do not contain either line-feed or
carriage-return terminated records.  Those delimiters are added by the
operating system file read calls if the application requests them.

Bug: http://curl.haxx.se/bug/view.cgi?id=496

11 years agolibtest: fix data type of some *_setopt() 'long' arguments
Yang Tse [Mon, 22 Jul 2013 19:07:06 +0000 (21:07 +0200)]
libtest: fix data type of some *_setopt() 'long' arguments

11 years agocurl: fix symbolic names for CURL_NETRC_* enum in --libcurl output
Yang Tse [Mon, 22 Jul 2013 18:03:27 +0000 (20:03 +0200)]
curl: fix symbolic names for CURL_NETRC_* enum in --libcurl output

11 years agocurl: fix symbolic names for CURLUSESSL_* enum in --libcurl output
Yang Tse [Mon, 22 Jul 2013 17:43:08 +0000 (19:43 +0200)]
curl: fix symbolic names for CURLUSESSL_* enum in --libcurl output

11 years agotool_operate.c: fix passing curl_easy_setopt long arg on some x64 ABIs
Yang Tse [Mon, 22 Jul 2013 16:08:23 +0000 (18:08 +0200)]
tool_operate.c: fix passing curl_easy_setopt long arg on some x64 ABIs

We no longer pass our 'bool' data type variables nor constants as
an argument to my_setopt(), instead we use proper 1L or 0L values.

This also fixes macro used to pass string argument for CURLOPT_SSLCERT,
CURLOPT_SSLKEY and CURLOPT_EGDSOCKET using my_setopt_str() instead of
my_setopt().

This also casts enum or int argument data types to long when passed to
my_setopt_enum().

11 years agocurl_multi_wait: fix revents
Daniel Stenberg [Thu, 18 Jul 2013 21:36:59 +0000 (23:36 +0200)]
curl_multi_wait: fix revents

Commit 6d30f8ebed34e7276 didn't work properly. First, it used the wrong
array index, but this fix also:

1 - only does the copying if indeed there was any activity

2 - makes sure to properly translate between internal and external
bitfields, which are not guaranteed to match

Reported-by: Evgeny Turnaev
11 years agoRELEASE-NOTES: synced with d529f3882b9bca
Daniel Stenberg [Fri, 19 Jul 2013 21:38:01 +0000 (23:38 +0200)]
RELEASE-NOTES: synced with d529f3882b9bca

11 years agocurl_easy_perform: gradually increase the delay time
Daniel Stenberg [Sun, 14 Jul 2013 15:33:24 +0000 (17:33 +0200)]
curl_easy_perform: gradually increase the delay time

Instead of going 50,100,150 etc millisecond delay time when nothing has
been found to do or wait for, we now start lower and double each loop as
in 4,8,16,32 etc.

This lowers the minimum wait without sacrifizing the longer wait too
much with unnecessary CPU cycles burnt.

Bug: http://curl.haxx.se/mail/lib-2013-07/0103.html
Reported-by: Andreas Malzahn
11 years agoftp_do_more: consider DO_MORE complete when server connects back
Daniel Stenberg [Fri, 19 Jul 2013 21:02:30 +0000 (23:02 +0200)]
ftp_do_more: consider DO_MORE complete when server connects back

In the case of an active connection when ftp_do_more() detects that the
server has connected back, it must make sure to mark it as complete so
that the multi_runsingle() function will detect this and move on to the
next state.

Bug: http://curl.haxx.se/mail/lib-2013-07/0115.html
Reported-by: Clemens Gruber
11 years agoMakefile.b32: Borland makefile adjustments. Tested with BCC 5.5.1
Yang Tse [Fri, 19 Jul 2013 10:05:22 +0000 (12:05 +0200)]
Makefile.b32: Borland makefile adjustments. Tested with BCC 5.5.1

11 years agoWIN32 MemoryTracking: require UNICODE for wide strdup code support
Yang Tse [Fri, 19 Jul 2013 04:44:46 +0000 (06:44 +0200)]
WIN32 MemoryTracking: require UNICODE for wide strdup code support

11 years agoCURLOPT_XFERINFOFUNCTION: introducing a new progress callback
Daniel Stenberg [Sat, 15 Jun 2013 12:57:01 +0000 (14:57 +0200)]
CURLOPT_XFERINFOFUNCTION: introducing a new progress callback

CURLOPT_XFERINFOFUNCTION is now the preferred progress callback function
and CURLOPT_PROGRESSFUNCTION is considered deprecated.

This new callback uses pure 'curl_off_t' arguments to pass on full
resolution sizes. It otherwise retains the same characteristics: the
same call rate, the same meanings for the arguments and the return code
is used the same way.

The progressfunc.c example is updated to show how to use the new
callback for newer libcurls while supporting the older one if built with
an older libcurl or even built with a newer libcurl while running with
an older.

11 years agoReinstate "WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage".
Yang Tse [Thu, 18 Jul 2013 18:04:02 +0000 (20:04 +0200)]
Reinstate "WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage".

This reverts commit 7ed25cc, reinstating commit 8ec2cb5.

As of 18-jul-2013 we still do have code in libcurl that makes use of these
memory functions. Commit 8ec2cb5 comment still applies and is yet valid.

These memory functions are solely used in Windows builds, so all related
code is protected with '#ifdef WIN32' preprocessor conditional compilation
directives.

Specifically, wcsdup() _wcsdup() are used when building a Windows target with
UNICODE and USE_WINDOWS_SSPI preprocessor symbols defined. This is the case
when building a Windows UNICODE target with Windows native SSL/TLS support
enabled.

Realizing that wcsdup() _wcsdup() are used is a bit tricky given that usage
of these is hidden behind _tcsdup() which is MS way of dealing with code
that must tolerate UNICODE and non-UNICODE compilation. Additionally, MS
header files and those compatible from other compilers use this preprocessor
conditional compilation directive in order to select at compilation time
whether 'wide' or 'ansi' MS API functions are used.

Without this code, Windows build targets with Windows native SSL/TLS support
enabled and MemoryTracking support enabled misbehave in tracking memory usage,
regardless of being a UNICODE enabled build or not.

11 years agoxc-am-iface.m4: comments refinement
Yang Tse [Thu, 18 Jul 2013 14:03:15 +0000 (16:03 +0200)]
xc-am-iface.m4: comments refinement

11 years agoconfigure: fix 'subdir-objects' distclean related issue
Yang Tse [Wed, 17 Jul 2013 07:50:22 +0000 (09:50 +0200)]
configure: fix 'subdir-objects' distclean related issue

See XC_AMEND_DISTCLEAN comments for details.

11 years agocurl_multi_wait: set revents for extra fds
Evgeny Turnaev [Wed, 17 Jul 2013 22:06:09 +0000 (00:06 +0200)]
curl_multi_wait: set revents for extra fds

Pass back the revents that happened for the user-provided file
descriptors.

11 years agoasyn-ares: Don't blank ares servers if none configured.
Ben Greear [Mon, 8 Apr 2013 22:24:49 +0000 (15:24 -0700)]
asyn-ares: Don't blank ares servers if none configured.

Best to just let c-ares use it's defaults if none are configured
in (lib)curl.

Signed-off-by: Ben Greear <greearb@candelatech.com>
11 years agocmake: Fix for MSVC2010 project generation
Sergei Nikulov [Tue, 9 Jul 2013 15:20:41 +0000 (19:20 +0400)]
cmake: Fix for MSVC2010 project generation

Fixed issue with static build for MSVC2010.

After some investigation I've discovered known issue
http://public.kitware.com/Bug/view.php?id=11240 When .rc file is linked
to static lib it fails with following linker error

LINK : warning LNK4068: /MACHINE not specified; defaulting to X86
file.obj : fatal error LNK1112: module machine type 'x64' conflicts with
target machine type 'X86'

Fix add target property /MACHINE: for MSVC generation.

Also removed old workarounds - it caused errors during msvc build.

Bug: http://curl.haxx.se/mail/lib-2013-07/0046.html

11 years agomk-ca-bundle.1: point out certdata.txt format docs
Daniel Stenberg [Tue, 16 Jul 2013 22:05:29 +0000 (00:05 +0200)]
mk-ca-bundle.1: point out certdata.txt format docs

11 years agoslist.c: Curl_slist_append_nodup() OOM handling fix
Yang Tse [Tue, 16 Jul 2013 21:56:33 +0000 (23:56 +0200)]
slist.c: Curl_slist_append_nodup() OOM handling fix

11 years agotest1414: FTP PORT download without SIZE support
Daniel Stenberg [Mon, 15 Jul 2013 17:33:37 +0000 (19:33 +0200)]
test1414: FTP PORT download without SIZE support

11 years agotests/Makefile.am: add configurehelp.pm to DISTCLEANFILES
Yang Tse [Tue, 16 Jul 2013 20:51:35 +0000 (22:51 +0200)]
tests/Makefile.am: add configurehelp.pm to DISTCLEANFILES

11 years agocurl_slist_append(): fix error detection
Patrick Monnerat [Mon, 15 Jul 2013 17:49:30 +0000 (19:49 +0200)]
curl_slist_append(): fix error detection

11 years agoslist.c: fix indentation
Patrick Monnerat [Mon, 15 Jul 2013 17:46:19 +0000 (19:46 +0200)]
slist.c: fix indentation

11 years agoOS400: new SSL backend GSKit
Patrick Monnerat [Mon, 15 Jul 2013 17:00:36 +0000 (19:00 +0200)]
OS400: new SSL backend GSKit

11 years agoOS400: add slist and certinfo EBCDIC support
Patrick Monnerat [Mon, 15 Jul 2013 16:48:02 +0000 (18:48 +0200)]
OS400: add slist and certinfo EBCDIC support

11 years agoconfig-os400.h: enable system strdup(), strcmpi(), etc.
Patrick Monnerat [Mon, 15 Jul 2013 16:38:17 +0000 (18:38 +0200)]
config-os400.h: enable system strdup(), strcmpi(), etc.

11 years agox509asn1.c,x509asn1.h: new module to support ASN.1/X509 parsing & info extract
Patrick Monnerat [Mon, 15 Jul 2013 16:16:13 +0000 (18:16 +0200)]
x509asn1.c,x509asn1.h: new module to support ASN.1/X509 parsing & info extract
Use from qssl backend

11 years agossluse.c,sslgen.c,sslgen.h: move certinfo support to generic SSL
Patrick Monnerat [Mon, 15 Jul 2013 15:26:59 +0000 (17:26 +0200)]
ssluse.c,sslgen.c,sslgen.h: move certinfo support to generic SSL

11 years agoMerge branch 'master' of github.com:bagder/curl
Patrick Monnerat [Mon, 15 Jul 2013 14:55:30 +0000 (16:55 +0200)]
Merge branch 'master' of github.com:bagder/curl

Merge for resync

11 years agoslist.c, slist.h, cookie.c: new internal procedure Curl_slist_append_nodup()
Patrick Monnerat [Mon, 15 Jul 2013 14:53:43 +0000 (16:53 +0200)]
slist.c, slist.h, cookie.c: new internal procedure Curl_slist_append_nodup()

11 years agosslgen.c: fix Curl_rand() compiler warning
Yang Tse [Mon, 15 Jul 2013 13:54:28 +0000 (15:54 +0200)]
sslgen.c: fix Curl_rand() compiler warning

Use simple seeding method upon RANDOM_FILE seeding method failure.

11 years agosslgen.c: fix unreleased Curl_rand() infinite recursion
Yang Tse [Mon, 15 Jul 2013 11:20:44 +0000 (13:20 +0200)]
sslgen.c: fix unreleased Curl_rand() infinite recursion

11 years agosrc/tool: allow timeouts to accept decimal values
Dave Reisner [Tue, 30 Apr 2013 14:23:39 +0000 (14:23 +0000)]
src/tool: allow timeouts to accept decimal values

Implement wrappers around strtod to convert the user argument to a
double with sane error checking. Use this to allow --max-time and
--connect-timeout to accept decimal values instead of strictly integers.

The manpage is updated to make mention of this feature and,
additionally, forewarn that the actual timeout of the operation can
vary in its precision (particularly as the value increases in its
decimal precision).

11 years agocurl.1: fix long line, found by checksrc.pl
Dave Reisner [Sun, 14 Jul 2013 16:33:46 +0000 (18:33 +0200)]
curl.1: fix long line, found by checksrc.pl

11 years agosrc/tool_paramhlp: try harder to catch negatives
Dave Reisner [Sun, 14 Jul 2013 16:33:44 +0000 (18:33 +0200)]
src/tool_paramhlp: try harder to catch negatives

strto* functions happily chomp off leading whitespace, so simply
checking for str[0] can lead to false negatives. Do the full parse and
check the out value instead.

11 years agobuild_vms.com: detect and use zlib shared image
John E. Malmberg [Sun, 14 Jul 2013 15:37:49 +0000 (17:37 +0200)]
build_vms.com: detect and use zlib shared image

Update the build_vms.com to detect and use zlib shared image installed
by the ZLIB kit produced by Jean-Francois Pieronne, and the also the
future ZLIB 1.2.8 kit in addition to the older ZLIB kits.

Also fix the indentation to match one of the common standards used for
VMS DCL command files and removed the hard tab characters.

Tested on OpenVMS 8.4 Alpha and IA64, and OpenVMS 7.3 VAX.

11 years agourl.c: fix parse_url_login() OOM handling
Yang Tse [Sun, 14 Jul 2013 10:19:57 +0000 (12:19 +0200)]
url.c: fix parse_url_login() OOM handling

11 years agohttp_digest.c: SIGSEGV and OOM handling fixes
Yang Tse [Fri, 12 Jul 2013 17:32:13 +0000 (19:32 +0200)]
http_digest.c: SIGSEGV and OOM handling fixes

11 years agourl.c: fix parse_login_details() OOM handling
Yang Tse [Fri, 12 Jul 2013 10:16:48 +0000 (12:16 +0200)]
url.c: fix parse_login_details() OOM handling

11 years agosetup-vms.h: sk_pop symbol tweak
John E. Malmberg [Fri, 12 Jul 2013 10:07:02 +0000 (12:07 +0200)]
setup-vms.h: sk_pop symbol tweak

Newer versions of curl are referencing a sk_pop symbol while the HP
OpenSSL library has the symbol in uppercase only.

11 years agogetinfo.c: fix enumerated type mixed with another type
Yang Tse [Thu, 11 Jul 2013 15:03:14 +0000 (17:03 +0200)]
getinfo.c: fix enumerated type mixed with another type

11 years agotest 1511: fix enumerated type mixed with another type
Yang Tse [Thu, 11 Jul 2013 15:01:02 +0000 (17:01 +0200)]
test 1511: fix enumerated type mixed with another type

11 years agourl.c: fix SIGSEGV
Yang Tse [Thu, 11 Jul 2013 11:29:48 +0000 (13:29 +0200)]
url.c: fix SIGSEGV

11 years agodotdot.c: fix global declaration shadowing
Yang Tse [Thu, 11 Jul 2013 11:29:20 +0000 (13:29 +0200)]
dotdot.c: fix global declaration shadowing

11 years agoeasy.c: fix global declaration shadowing
Yang Tse [Thu, 11 Jul 2013 11:28:47 +0000 (13:28 +0200)]
easy.c: fix global declaration shadowing

11 years agoRevert "curl.1: document the --time-cond option in the man page"
Kamil Dudka [Tue, 9 Jul 2013 13:45:36 +0000 (15:45 +0200)]
Revert "curl.1: document the --time-cond option in the man page"

This reverts commit 3a0e931fc715a80004958794a96b12cf90503f99 because
the documentation of --time-cond was duplicated by mistake.

Reported by: Dave Reisner

11 years agocurl.1: document the --sasl-ir option in the man page
Kamil Dudka [Tue, 9 Jul 2013 12:59:01 +0000 (14:59 +0200)]
curl.1: document the --sasl-ir option in the man page

11 years agocurl.1: document the --post303 option in the man page
Kamil Dudka [Tue, 9 Jul 2013 12:59:01 +0000 (14:59 +0200)]
curl.1: document the --post303 option in the man page