1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-05 00:55:04 -05:00
Commit Graph

628 Commits

Author SHA1 Message Date
Steve Holme
4c8a053855 sepheaders.c: Applied curl oding standards 2014-12-31 11:20:41 +00:00
Julien Nabet
8a3c0fbed1 sepheaders.c: Fixed resource leak on failure 2014-12-31 11:14:22 +00:00
Steve Holme
a9eadc9f91 asiohiper.cpp: No need to initialise members of ConnInfo
...as calloc() automatically clears the area of memory with zeros.
2014-12-27 12:01:13 +00:00
Steve Holme
193ba7b46e asiohiper.cpp: Updated for curl coding standards
...with the exception of the start of block statement curly brackets.
2014-12-27 12:01:11 +00:00
Steve Holme
151ae59436 code/docs: Use correct case for IPv4 and IPv6
For consistency, as we seem to have a bit of a mixed bag, changed all
instances of ipv4 and ipv6 in comments and documentations to use the
correct case.
2014-12-27 11:31:55 +00:00
Steve Holme
1abe65d928 code/docs: Use Unix rather than UNIX to avoid use of the trademark
Use Unix when generically writing about Unix based systems as UNIX is
the trademark and should only be used in a particular product's name.
2014-12-26 21:42:44 +00:00
Guenter Knauf
c0fc9066a9 synctime.c: added own user-agent string. 2014-12-13 15:02:30 +01:00
Guenter Knauf
157c9752d5 synctime.c: removed another timeserver URL.
worldtimeserver.com seems also no longer available.
2014-12-13 13:43:19 +01:00
Guenter Knauf
e98b7b1cb3 synctime.c: fixed timeserver URLs.
For getting the date header its not necessary to access special
pages or even CGI scripts - all pages including the main index
reply with the date header, therefore shortened URLs to domain.
Removed worldtime.com; added pool.ntp.org.
2014-12-13 13:38:37 +01:00
Guenter Knauf
c3b85c12a9 synctime.c: fixed user-agent setting.
Some websites meanwhile refuse to reply to requests from ancient
browsers like IE6, therefore I've comment out this setting, but
also fixed the string to now fake IE8 if someone enables it.
2014-12-09 18:18:40 +01:00
Steve Holme
58b317c9da Makefile.inc: Added our standard header and updated file formatting 2014-12-06 19:53:44 +00:00
Guenter Knauf
ccfa139c71 build: updated dependencies in makefiles. 2014-12-05 14:54:25 +01:00
Jay Satiro
7b5ca30917 examples: remove sony.com from 10-at-a-time
Prior to this change the 10-at-a-time example showed CURLE_RECV_ERROR
for the sony website because it ends the connection when the request is
missing a user agent.
2014-12-04 14:27:44 -08:00
Daniel Stenberg
bc860548c2 multi-single.c: switch to use curl_multi_wait
Makes the example much easier and straight-forward!
2014-11-25 11:45:38 +01:00
Steve Holme
804e462305 multi-uv.c: Updated for curl coding standards 2014-11-19 20:15:32 +00:00
Jay Satiro
cb13fad733 examples: Wait recommended 100ms when no file descriptors are ready
Prior to this change when no file descriptors were ready on platforms
other than Windows the multi examples would sleep whatever was in
timeout, which may or may not have been less than the minimum
recommended value [1] of 100ms.

[1]: http://curl.haxx.se/libcurl/c/curl_multi_fdset.html
2014-11-19 13:34:05 +01:00
Waldek Kozba
9406ab91a2 multi-uv.c: close the file handle after download 2014-11-19 13:28:48 +01:00
Jay Satiro
a607f8a20c examples: Don't call select() to sleep on windows
Windows does not support using select() for sleeping without a dummy
socket. Instead use Windows' Sleep() and sleep for 100ms which is the
minimum suggested value in the curl_multi_fdset() doc.

Prior to this change the multi examples would exit prematurely since
select() would error instead of sleeping when called without an fd.

Reported-by: Johan Lantz
Bug: http://curl.haxx.se/mail/lib-2014-11/0221.html
2014-11-15 21:27:20 +01:00
Daniel Stenberg
c927c92086 httpcustomheader.c: make use of more CURLOPT_HTTPHEADER features
... and only do a single request for clarity.
2014-10-16 11:38:32 +02:00
Waldek Kozba
b7d3338df2 multi-uv.c: call curl_multi_info_read() better
Improves it for low-latency cases (like the communication with
localhost)
2014-10-07 10:20:41 +02:00
Daniel Stenberg
9e6c3638e6 ftp-wildcard.c: spell fix
Reported-By: Frank Gevaerts
2014-09-09 11:10:18 +02:00
David Woodhouse
9ad282b1ae Remove all traces of FBOpenSSL SPNEGO support
This is just fundamentally broken. SPNEGO (RFC4178) is a protocol which
allows client and server to negotiate the underlying mechanism which will
actually be used to authenticate. This is *often* Kerberos, and can also
be NTLM and other things. And to complicate matters, there are various
different OIDs which can be used to specify the Kerberos mechanism too.

A SPNEGO exchange will identify *which* GSSAPI mechanism is being used,
and will exchange GSSAPI tokens which are appropriate for that mechanism.

But this SPNEGO implementation just strips the incoming SPNEGO packet
and extracts the token, if any. And completely discards the information
about *which* mechanism is being used. Then we *assume* it was Kerberos,
and feed the token into gss_init_sec_context() with the default
mechanism (GSS_S_NO_OID for the mech_type argument).

Furthermore... broken as this code is, it was never even *used* for input
tokens anyway, because higher layers of curl would just bail out if the
server actually said anything *back* to us in the negotiation. We assume
that we send a single token to the server, and it accepts it. If the server
wants to continue the exchange (as is required for NTLM and for SPNEGO
to do anything useful), then curl was broken anyway.

So the only bit which actually did anything was the bit in
Curl_output_negotiate(), which always generates an *initial* SPNEGO
token saying "Hey, I support only the Kerberos mechanism and this is its
token".

You could have done that by manually just prefixing the Kerberos token
with the appropriate bytes, if you weren't going to do any proper SPNEGO
handling. There's no need for the FBOpenSSL library at all.

The sane way to do SPNEGO is just to *ask* the GSSAPI library to do
SPNEGO. That's what the 'mech_type' argument to gss_init_sec_context()
is for. And then it should all Just Work™.

That 'sane way' will be added in a subsequent patch, as will bug fixes
for our failure to handle any exchange other than a single outbound
token to the server which results in immediate success.
2014-07-16 17:26:08 +02:00
Dan Fandrich
3ae2b6cd7f Update instances of some obsolete CURLOPTs to their new names 2014-07-05 22:47:13 +02:00
Dimitrios Siganos
22eb00f937 example: use correct type (long) for CURLOPT_FOLLOWLOCATION 2014-07-03 22:47:28 +02:00
Daniel Stenberg
1343756742 cacertinmem: fix memory leak
While "just" an example it still isn't nice to leak memory.

Bug: http://curl.haxx.se/bug/view.cgi?id=1368
Fixed-by: Marko
2014-05-09 13:33:21 +02:00
Steve Holme
0c4589f0c0 imap-append.c: Fixed compilation errors on some platforms
In the initializer for len, there is no prototype for "strlen".
In this statement, there is no prototype for "memcpy".
2014-03-30 10:56:51 +01:00
Daniel Stenberg
1f60728f81 examples: remove all use of CURLM_CALL_MULTI_PERFORM
... since it is never returned since a long while back.
2014-02-17 08:25:39 +01:00
Steve Holme
dc0f8c04ec examples: Added IMAP LSUB example 2014-02-16 00:09:22 +00:00
Daniel Stenberg
8bcf677a30 examples: gitignore more binaries 2014-01-29 10:22:40 +01:00
Steve Holme
27ecc22649 pop3-dele.c: Added missing CURLOPT_NOBODY following feedback 2014-01-15 23:39:46 +00:00
Steve Holme
a33e7edcec examples: Fixed compilation errors
error: 'MULTI_PERFORM_HANG_TIMEOUT' undeclared
2014-01-12 18:43:40 +00:00
Steve Holme
0fea86afe3 imap-multi.c: Corrected typo 2014-01-12 18:27:33 +00:00
Steve Holme
3a4cd2ad8d smtp-multi.c: Minor coding style tidyup following POP3 and IMAP additions 2014-01-12 18:24:48 +00:00
Steve Holme
82c472228e examples: Added IMAP multi example 2014-01-12 18:21:46 +00:00
Steve Holme
0089e65008 pop3-multi.c: Corrected copy/paste typo 2014-01-12 18:11:22 +00:00
Steve Holme
2492fd30e5 examples: Added POP3 multi example 2014-01-12 18:02:22 +00:00
Steve Holme
190e41f840 examples: Added comments to SMTP multi example based on other MAIL examples 2014-01-12 16:45:52 +00:00
Steve Holme
5d25d626b1 examples: Removed user information and TLS setup from SMTP multi example
Simplified the SMTP multi example as this example should demonstrate
the differences the easy and multi interfaces rather than introduce new
concepts such as user authentication and TLS which are shown in the TLS
and SSL examples.
2014-01-12 16:33:19 +00:00
Steve Holme
e473a4d2f3 examples: Updated SMTP MAIL example to return libcurl result code 2014-01-12 15:55:08 +00:00
Steve Holme
7e85964080 examples: Synchronised comments between SMTP MAIL examples 2014-01-12 15:43:07 +00:00
Steve Holme
9bd2fdb8e2 examples: Updated SMTP MAIL example to use a read function for data
Updated to read data from a callback rather than from stdio as this is
more realistic to most use cases.
2014-01-12 15:43:05 +00:00
Steve Holme
fc0b4b0d31 examples: Added required libcurl version information to SMTP examples 2014-01-05 23:00:56 +00:00
Steve Holme
149e0c8d10 Examples: Renamed SMTP MAIL example to match other email examples 2014-01-05 17:51:18 +00:00
Steve Holme
0f4bf77bd3 examples: Added POP3 TLS example 2014-01-05 14:26:51 +00:00
Steve Holme
ecb0dc4c90 examples: Added IMAP NOOP example 2014-01-05 14:22:35 +00:00
Steve Holme
a6742a1c12 examples: Added POP3 NOOP example 2014-01-05 13:59:21 +00:00
Steve Holme
e209d60713 pop3-stat.c: Corrected small typo from commit 91d62e9abd 2014-01-05 13:56:49 +00:00
Steve Holme
91d62e9abd examples: Added POP3 STAT example 2014-01-05 13:29:50 +00:00
Steve Holme
3e17db4882 examples: Added POP3 TOP example 2014-01-05 13:16:41 +00:00
Steve Holme
ef2d7cb44b examples: Added POP3 DELE example 2014-01-05 13:00:25 +00:00
Steve Holme
e948b9c6e3 examples: Added POP3 UIDL example 2014-01-05 12:31:28 +00:00
Steve Holme
afb65c6cf3 examples: Added POP3 RETR example 2014-01-05 12:17:15 +00:00
Steve Holme
5be92d03b0 examples: Added return of error code in POP3 examples 2014-01-05 12:05:02 +00:00
Steve Holme
ad39e7ec01 examples: Reworked POP3 examples for additional upcoming POP3 examples 2014-01-05 11:28:24 +00:00
Steve Holme
98b7fc0195 examples: Added SMTP SSL example 2014-01-05 11:27:29 +00:00
Steve Holme
f9797871aa examples: Added IMAP SSL and TLS examples 2014-01-05 11:26:41 +00:00
Steve Holme
5220c1d692 examples: Standardised username and password settings for all email examples
Replaced the use of CURLOPT_USERPWD for the preferred CURLOPT_USERNAME
and CURLOPT_PASSWORD options and used the same username and password for
all email examples which is the same as that used in the test suite.
2014-01-04 18:12:02 +00:00
Steve Holme
4c51f2b578 examples: Added IMAP COPY example 2014-01-04 01:11:26 +00:00
Steve Holme
2b026784a8 examples: Added IMAP DELETE example 2014-01-04 01:11:03 +00:00
Steve Holme
3c1519117a examples: Added IMAP CREATE example 2014-01-04 01:05:46 +00:00
Steve Holme
0f340f0572 examples: Added IMAP SEARCH example 2014-01-02 20:19:45 +00:00
Steve Holme
f063773b83 examples: Added IMAP EXAMINE mailbox folder example 2014-01-02 20:19:36 +00:00
Steve Holme
6bc9e46bf1 examples: Updated SMTP multi example to be more realistic
Updated the contents of the email and payload callback as per the IMAP
and other SMTP examples.
2014-01-01 20:58:04 +00:00
Steve Holme
1f47a77b29 examples: Corrected unescaped backslash in imap-store.c 2014-01-01 19:31:41 +00:00
Steve Holme
0757a9b941 examples: Update SMTP TLS example mail content to be RFC-2821 compliant
...and made some minor coding style changes to better match the curl
coding standards as well as the other email related examples.
2014-01-01 18:44:53 +00:00
Steve Holme
83ae98c6c6 examples: Added IMAP APPEND example 2014-01-01 18:02:06 +00:00
Steve Holme
2658da7604 examples: Added IMAP STORE example 2014-01-01 17:25:12 +00:00
Steve Holme
7de2e03258 examples: Added IMAP LIST mailbox example 2013-12-31 16:28:37 +00:00
Steve Holme
ab71241c88 examples: Updated IMAP fetch example for libcurl 7.30.0 2013-12-31 16:13:22 +00:00
Steve Holme
e9625c5bc6 examples: Rename before adding additional email examples 2013-12-31 16:01:31 +00:00
Steve Holme
18a6467c8c examples: Added SMTP EXPN command example 2013-12-31 14:37:49 +00:00
Steve Holme
7b368e7f94 examples: Added SMTP email verification example 2013-12-31 13:29:32 +00:00
Steve Holme
6e4d4a9b51 examples: Updated copyright year for recent edits 2013-12-31 00:29:14 +00:00
Steve Holme
c68758b621 examples: Corrected incorrect indentation in smtp-multi.c 2013-12-31 00:20:55 +00:00
Steve Holme
73a894170b examples: Updated SMTP examples to set CURLOPT_UPLOAD 2013-12-31 00:19:10 +00:00
Steve Holme
dc68120e63 curl_easy_getinfo: Post CURLINFO_TLS_SESSION tidy up
1) Renamed curl_tlsinfo to curl_tlssessioninfo as discussed on the
mailing list.
2) Renamed curl_ssl_backend to curl_sslbackend so it doesn't follow our
function naming convention.
3) Updated sessioninfo.c example accordingly.
2013-11-30 11:08:56 +00:00
Christian Grothoff
889cb9c982 sessioninfo.c: Added sample code for CURLINFO_TLS_SESSION
Added a simple example to show how one can use CURLINFO_TLS_SESSION for
obtaining extensive TLS certificate information.
2013-11-28 07:05:07 +00:00
Gisle Vanem
6fe619be7a docs/examples/httpput.c: fix build for MSVC
"Dan Fandrich" <dan@coneharvesters.com> wrote:

>> But I'm not sure <unistd.h> is needed at all.
>
> It's needed for close(2). But the only reason that's needed is because fstat
> is used instead of stat(2); if you fix that, then you could remove that
> include altogether.

Okay. I've tested the following with MSVC and MingW. htttput.c now
simply uses stat():
2013-10-27 15:48:57 +01:00
Ishan SinghLevett
18ca0aa984 usercertinmem: fix memory leaks 2013-10-15 20:48:22 +02:00
Daniel Stenberg
4d7bf73fc3 getinmemory: remove a comment
The comment mentioned the need to free the data, but the example already
does that free
2013-09-29 00:16:21 +02:00
Daniel Stenberg
3c34f453fa postinmemory: new example
This is similar to getinmemory.c but with an initial POST.

Combined-by: Ulf Samuelsson
2013-09-29 00:12:30 +02:00
Daniel Stenberg
12d01cb6fa 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.
2013-07-18 23:44:06 +02:00
Dan Fandrich
54f18e5427 examples: Moved usercertinmem.c to COMPLICATED_EXAMPLES
This prevents it from being built during a "make check" since it
depends on OpenSSL.
2013-07-03 21:13:12 +02:00
Guenter Knauf
da0db499fd Use opened body.out file and write content to it. 2013-06-20 22:53:37 +02:00
Daniel Stenberg
ee84c47655 tarball: include the xmlstream example 2013-05-19 11:21:56 +02:00
David Strauss
ce32176db7 xmlstream: XML stream parsing example source code
Add an XML stream parsing example using Expat. Add missing ignore for
the binary from an unrelated example.
2013-05-19 11:19:28 +02:00
Guenter Knauf
ae26ee3489 Updated zlib version in build files. 2013-05-11 17:08:00 +02:00
Ishan SinghLevett
993cdcd6ee usercertinmem.c: add example showing user cert in memory
Relies on CURLOPT_SSL_CTX_FUNCTION, which is OpenSSL specific
2013-04-18 23:07:15 +02:00
Kamil Dudka
247b291b12 examples/multi-single.c: fix the order of destructions
... so that it adheres to the API documentation.

Reported by: Tomas Mlcoch
2013-04-05 13:10:41 +02:00
Guenter Knauf
cfb7e80991 Added dns and connect time to output. 2013-04-01 14:54:01 +02:00
Clemens Gruber
b1ce7c5a6b multi-uv.c: remove unused variable 2013-03-27 15:39:42 +01:00
Clemens Gruber
142755fa5c Added libuv example multi-uv.c 2013-03-27 09:24:49 +01:00
Yang Tse
83a42ee20e curl.h: stricter CURL_EXTERN linkage decorations logic
No API change involved.

Info: http://curl.haxx.se/mail/lib-2013-02/0234.html
2013-03-12 00:27:47 +01:00
Daniel Stenberg
ad361d109b hiperfifo: updated to use current libevent API
Patch by: Myk Taylor
2013-03-10 19:46:19 +01:00
Cédric Deltheil
6645d2ae8f examples/getinmemory.c: abort the transfer if not enough memory
No more use exit(3) but instead tell libcurl that no byte has been
written to let it return a `CURLE_WRITE_ERROR`. In addition, check
curl easy handle return code.
2013-03-09 16:38:18 +01:00
Alessandro Ghedini
b333504327 htmltitle: fix suggested build command 2013-02-10 18:54:56 +01:00
Guenter Knauf
5be2499e16 Updated dependency libs. 2013-02-09 01:35:11 +01:00
Guenter Knauf
e243d80dea Updated date. 2013-01-30 18:14:00 +01:00
Guenter Knauf
3d7b7b6b84 Fixed debug.c to work again unchanged.
Added CURLOPT_FOLLOWLOCATION since example.com is now redirected.
2013-01-29 13:04:41 +01:00
Guenter Knauf
0494da830b Updated dependency libs. 2013-01-28 01:25:39 +01:00
Guenter Knauf
5243b18f3d Fixed simple.c to work again unchanged.
Added CURLOPT_FOLLOWLOCATION since example.com is now redirected.
2013-01-28 00:42:16 +01:00
Yang Tse
5a053ffe80 build: fix circular header inclusion with other packages
This commit renames lib/setup.h to lib/curl_setup.h and
renames lib/setup_once.h to lib/curl_setup_once.h.

Removes the need and usage of a header inclusion guard foreign
to libcurl. [1]

Removes the need and presence of an alarming notice we carried
in old setup_once.h [2]

----------------------------------------

1 - lib/setup_once.h used __SETUP_ONCE_H macro as header inclusion guard
    up to commit ec691ca3 which changed this to HEADER_CURL_SETUP_ONCE_H,
    this single inclusion guard is enough to ensure that inclusion of
    lib/setup_once.h done from lib/setup.h is only done once.

    Additionally lib/setup.h has always used __SETUP_ONCE_H macro to
    protect inclusion of setup_once.h even after commit ec691ca3, this
    was to avoid a circular header inclusion triggered when building a
    c-ares enabled version with c-ares sources available which also has
    a setup_once.h header. Commit ec691ca3 exposes the real nature of
    __SETUP_ONCE_H usage in lib/setup.h, it is a header inclusion guard
    foreign to libcurl belonging to c-ares's setup_once.h

    The renaming this commit does, fixes the circular header inclusion,
    and as such removes the need and usage of a header inclusion guard
    foreign to libcurl. Macro __SETUP_ONCE_H no longer used in libcurl.

2 - Due to the circular interdependency of old lib/setup_once.h and the
    c-ares setup_once.h header, old file lib/setup_once.h has carried
    back from 2006 up to now days an alarming and prominent notice about
    the need of keeping libcurl's and c-ares's setup_once.h in sync.

    Given that this commit fixes the circular interdependency, the need
    and presence of mentioned notice is removed.

    All mentioned interdependencies come back from now old days when
    the c-ares project lived inside a curl subdirectory. This commit
    removes last traces of such fact.
2013-01-09 00:49:50 +01:00
Yang Tse
f947de4bb5 examples/certinfo.c: fix compiler warning 2012-12-29 22:17:06 +01:00
Yang Tse
f4b60e7f14 examples/simplessl.c: fix compiler warning 2012-12-11 15:03:17 +01:00
Yang Tse
85b77209ae examples/externalsocket.c: fix SunPro compilation issue 2012-12-10 18:06:35 +01:00
Yang Tse
e880680fb6 examples/simplessl.c: fix compiler warning 2012-12-10 17:55:18 +01:00
Yang Tse
d758234ade examples/anyauthput.c: fix Tru64 compilation issue 2012-12-10 15:42:12 +01:00
Yang Tse
fe2b2a3b9d examples: fix compilation issues - commit 7332a7cafb follow-up 2012-12-05 12:59:14 +01:00
Yang Tse
7332a7cafb examples: fix compilation issues - commit 23f8dca6fb follow-up 2012-12-05 11:43:40 +01:00
Yang Tse
23f8dca6fb examples: fix compilation issues 2012-12-05 00:37:57 +01:00
Yang Tse
b908376bef build: explain current role of LIBS in our Makefile.am files
BLANK_AT_MAKETIME may be used in our Makefile.am files to blank
LIBS variable used in generated makefile at makefile processing
time. Doing this functionally prevents LIBS from being used for
all link targets in given makefile.
2012-12-04 23:32:05 +01:00
Yang Tse
6bd6b3a8a1 build: prevent global LIBS from influencing examples build targets 2012-11-30 19:12:18 +01:00
Lijo Antony
616a0099d1 examples: Updated asiohiper.cpp to remove connect from opensocket
Blocking connect on the socket has been removed from opensocket
callback. opensocket just opens a new socket and gives it back to
libcurl and libcurl will take care of the connect. sockopt_callback has
also been removed, as it is no longer required.
2012-11-25 18:37:07 +01:00
Daniel Stenberg
f435d6699d htmltitle: use .cpp extension for C++ examples 2012-11-21 18:26:42 +01:00
Lijo Antony
ba33665d1f examples: Added a c++ example of using multi with boost::asio
Added an example for demonstrating the usage of curl multi interface
with boost::asio in c++
2012-11-21 18:21:31 +01:00
Daniel Stenberg
fa6d78829f httpcustomheader.c: free the headers after use 2012-11-06 11:51:19 +01:00
Dave Reisner
550e403f00 uniformly use AM_CPPFLAGS, avoid deprecated INCLUDES
Since automake 1.12.4, the warnings are issued on running automake:

  warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')

Avoid INCLUDES and roll these flags into AM_CPPFLAGS.

Compile tested on:
  Ubuntu 10.04 (automake 1:1.11.1-1)
  Ubuntu 12.04 (automake 1:1.11.3-1ubuntu2)
  Arch Linux (automake 1.12.4)
2012-11-06 00:32:21 +01:00
Daniel Stenberg
af121ccad8 evhiperfifo: fix the pointer passed to WRITEDATA
Bug: http://curl.haxx.se/bug/view.cgi?id=3582407
Reported by: Oscar Norlander
2012-11-01 14:20:58 +01:00
Daniel Stenberg
12a40e17a9 href_extractor.c: fix the URL 2012-10-18 19:42:31 +02:00
Michał Kowalczyk
8ffc971138 href_extractor: example code extracting href elements
It does so in a streaming manner using the "Streaming HTML parser".
2012-10-18 16:45:51 +02:00
Kamil Dudka
c01b6f4d09 https.c example: remember to call curl_global_init()
... in order not to leak memory on initializing an SSL library.

Reported by: Tomas Mlcoch
2012-10-01 11:23:51 +02:00
Dave Reisner
4c070de4fb examples: use do/while loop for multi examples
It's conceivable that after the first time curl_multi_perform returns,
the outvalue still_running will be 0, but work will have been done. This
is shown by a workload of small, purely file:// based URLs. Ensure that
we always read pending messages off the multi handle by forcing the
while loop to run at least once.
2012-08-27 15:10:13 +02:00
Daniel Stenberg
8136649e9d ftpsget: simple example showing a FTPS fetch 2012-08-27 14:50:09 +02:00
Daniel Stenberg
71358ddffd sftpget: SFTP is not "SSH FTP" 2012-08-27 14:42:56 +02:00
Armel Asselin
be5fbf7372 sftpget: example showing a simple SFTP download
... using SSH-agent
2012-08-27 14:34:15 +02:00
Daniel Stenberg
a90492a083 https.c example: spell check used define
Bug: http://curl.haxx.se/bug/view.cgi?id=3559845
Reported by: Olivier Berger
2012-08-21 22:30:47 +02:00
Guenter Knauf
6e3802a2cf Added error checking for curl_global_init(). 2012-07-12 15:18:00 +02:00
Guenter Knauf
df5a47b819 Added curl_global_* functions. 2012-07-12 15:01:18 +02:00
Guenter Knauf
be795f90da Added curl_global_* functions. 2012-07-12 02:02:57 +02:00
Guenter Knauf
897cf5d117 Removed non-used variable. 2012-07-04 22:14:18 +02:00
Guenter Knauf
a3dbbcfd2a Added error checking for samples. 2012-07-04 17:03:52 +02:00
Guenter Knauf
1ba5712f88 MinGW makefile tweaks for running from sh.
Added function macros to make path converting easier.
Added CROSSPREFIX to all compile tools.
2012-07-03 12:56:41 +02:00
Guenter Knauf
f95f19e854 Enabled OpenSSL static linkage. 2012-05-27 07:26:48 +02:00
Guenter Knauf
1c58f291cc Updated dependency libary versions. 2012-05-22 04:15:37 +02:00
Guenter Knauf
1beda0cbb7 Updated dependency lib versions. 2012-04-26 14:40:50 +02:00
Guenter Knauf
0f54880277 Updated dependency lib versions. 2012-04-20 13:33:54 +02:00
Yang Tse
865893fb14 examples: fix compiler warnings 2012-04-13 17:59:49 +02:00
Yang Tse
21423497ef configure: Windows cross-compilation fixes
BUILDING_LIBCURL and CURL_STATICLIB are no longer defined in curl_config.h,
configure will generate appropriate conditionals so that mentioned symbols
get defined and used in Makefiles at compilation time
2012-04-09 21:24:16 +02:00
Dan Fandrich
5d7a319a55 examples: updated README with two new example programs 2012-01-20 22:44:59 -08:00
Daniel Stenberg
21401840fa url2file: new simple example
Just showing how to download the contents of a given URL into a local
file.

Based on a suggestion and example code by Georg Potthast
2012-01-16 14:47:00 +01:00
Daniel Stenberg
e3e24e5b36 imap.c: a dead simple imap example
Just to show that IMAP is used just like other protocols
2012-01-16 14:47:00 +01:00
Peter Sylvester
81524cbfa0 OpenSSL: remove reference to openssl internal struct
With this change, curl compiles with the new OPENSSL_NO_SSL_INTERN
cflag. This flag might become the default in some distant future.
2012-01-04 23:02:36 +01:00
Alessandro Ghedini
90343c76c6 examples: update README, Makefile.inc and gitignore with pop3s examples 2011-12-30 15:30:11 +01:00
Alessandro Ghedini
ecd75e8cb8 examples: add a couple of simple pop3s examples
These examples show how to fetch a single message (RETR command) and how to
list all the messages in a given mailbox (LIST command), with authentication
via SSL.

They were both based on the https.c example.
2011-12-30 15:30:11 +01:00
Yang Tse
ed0364343d removed trailing whitespace 2011-12-30 03:36:18 +01:00
Dan Fandrich
46724b87b7 Added some include files in a couple of example programs
This improves portability of the examples.  This patch was
submitted to the OpenBSD ports collection by naddy.
2011-12-06 19:54:48 -08:00
Rob Ward
7e4daaf908 progress function example: include timed interval
Adds a timer based off of CURLINFO_TOTAL_TIME that is used to perform
certain actions after a minimum amount of time has passed using the
progress function. As a consequence the curl handle is now also passed
into the progress function. Progress example now also includes an
example of how to retreive the TOTAL_TIME and print it out.
2011-12-05 23:13:34 +01:00
Dan Fandrich
95ddbdb1db curl_easy_setopt arguments should be of type long in the examples 2011-11-14 14:07:25 -08:00
Guenter Knauf
b4fccc1d8e Added SPNEGO to NetWare build. 2011-09-27 16:02:07 +02:00
Guenter Knauf
bb94b92894 Fixed MinGW examples makefile. 2011-09-25 16:31:31 +02:00
Guenter Knauf
230459dd00 NetWare makefile tweaks to select different builds. 2011-09-25 16:29:08 +02:00
Guenter Knauf
8bab6700d9 Added header to be included by dist script.
Probably the wrong place, but I dont know better.
2011-09-24 15:06:21 +02:00
Guenter Knauf
87a45c7998 MinGW64 has this prototype already. 2011-09-23 03:56:34 +02:00
Guenter Knauf
dafa2fc944 Fixed scanf format for WORD = unsigned short. 2011-09-23 03:21:50 +02:00
Guenter Knauf
ef3f1f3146 Added Win32-only samples. 2011-09-23 03:00:32 +02:00
Guenter Knauf
ba52e0a93b Added a workaround for printing size_t. 2011-09-23 02:16:20 +02:00
Guenter Knauf
3c3aa09c65 Added NetWare examples makefile. 2011-09-22 14:35:49 +02:00
Guenter Knauf
62b0fdca9e Another MinGW example makefile tweak. 2011-09-21 18:21:05 +02:00
Guenter Knauf
3317160c19 Fixed sample to compile for Windows platform. 2011-09-21 18:09:34 +02:00
Guenter Knauf
e4172d934d Changed suffix rules to pattern rules.
Suffix rules cannot have any prerequisites of their own.
2011-09-21 03:25:19 +02:00
Guenter Knauf
a6b69b64ad Some more MinGW build tweaks.
Added envvars to specify OpenSSL include, libpath and lib.
Added rule to create curlbuild.h from curlbuild.h.dist.
2011-09-21 02:06:05 +02:00
Guenter Knauf
a6c168b893 A bunch of MinGW build tweaks.
All paths to dependencies now quoted; synced examples makefile.
2011-09-20 15:05:28 +02:00
Daniel Stenberg
6790a543d4 progressfunc: a simple CURLOPT_PROGRESSFUNCTION example 2011-09-13 22:48:55 +02:00
Daniel Stenberg
450975b0c3 getinmemory.c: use better argument names for write callback 2011-09-07 22:43:28 +02:00
Daniel Stenberg
cce6508242 resolve.c: new example showing off CURLOPT_RESOLVE 2011-08-23 16:31:10 +02:00
Daniel Stenberg
af809923e4 externalsocket.c: new example 2011-08-23 11:28:35 +02:00
Daniel Stenberg
c8766ed3fb ignore rtsp 2011-08-13 00:22:47 +02:00
Daniel Stenberg
657d02fbac rtsp.c: converted to C
Trimmed the newlines to be LF-only. Converted the source to plain C, to
use curl style indents, to compile warning-free with picky options and
fixed the minor fprintf() bug on line 245. Added to makefile.
2011-08-10 10:57:50 +02:00
Jim Hollinger
8e2de86723 rtsp.c: new example
Code from
http://code.google.com/p/rtsprequest/source/browse/trunk/rtsprequest.cpp
2011-08-10 10:54:53 +02:00
Daniel Stenberg
ac28971aa6 examples: cleanup curl includes
Only <curl/curl.h> is needed typically and curl/types.h has been removed
2011-06-28 19:08:51 +02:00
Daniel Stenberg
c4bc1d473f anyauthput.c: stdint.h must not be included unconditionally
As it is already included by curlbuild.h if it exists on the platform it
was included here superfluously anyway.

Reported by: Dagobert Michelsen
Bug: http://curl.haxx.se/bug/view.cgi?id=3294509
2011-04-28 22:14:05 +02:00
Gisle Vanem
e9afbe2a65 examples/makefile.dj: update email 2011-04-07 15:16:38 +02:00
Daniel Stenberg
029136da60 source header: added to more files 2011-03-12 00:14:32 +01:00
Daniel Stenberg
1aeb635cdd sources: update source headers
All C and H files now (should) feature the proper project curl source
code header, which includes basic info, a copyright statement and some
basic disclaimers.
2011-03-10 12:04:33 +01:00
Brad Hards
879914def3 Use angle address, as for the rest of the example.
Also spelling fix for RECIPIENT #define.
2010-12-25 23:06:53 +01:00
Brad Hards
6076549304 Add angle brackets to addresses in easy SMTP examples, as for smtp-multi example. 2010-12-25 23:06:29 +01:00
Daniel Stenberg
7dc9393d3b smtp-multi: put recipient within <brackets>
Even if libcurl might to do it for us, it is more correct.
2010-12-23 22:21:24 +01:00
Brad Hards
0e944fb24e smtp-tls: add a missing newline
Without this you won't get the next (Subject) line.
2010-12-22 02:20:18 +01:00
Daniel Stenberg
bcfb9ea34c examples: socket type cleanup 2010-12-18 17:13:24 +01:00
Brad Hards
d2395f962d smtp-tls: add Message-ID: header 2010-12-18 17:07:57 +01:00
Daniel Stenberg
476b1a079b gitignore: ignore the new example execs 2010-12-17 23:35:04 +01:00
Daniel Stenberg
9583b4af90 examples: fix compiler warnings 2010-12-17 23:34:26 +01:00
Daniel Stenberg
8219bc9e19 examples: build all examples easier 2010-12-17 23:34:06 +01:00
Brad Hards
57523e3578 smtp-tls: new example
This example shows how to send SMTP with TLS
2010-12-17 22:55:58 +01:00
Brad Hards
37a22d4749 Docs: add simple SMTP example
Add a simple SMTP example program, patterned after some of the existing
examples, and the curl application.

This version addresses issues raised by David Woodhouse on comments in
the simplesmtp.c example.
2010-12-17 22:51:54 +01:00
Daniel Stenberg
76c54bd129 example: fix compiler warnings in fopen.c 2010-12-17 00:09:48 +01:00
Brad Hards
8f50a404f9 chkspeed: bad strtol() call for -M option
Bug: http://curl.haxx.se/mail/lib-2010-12/0192.html
2010-12-17 00:09:48 +01:00
Daniel Stenberg
d97fa56fd4 version-check: added brief documentation
and the traditional source header
2010-12-03 14:10:04 +01:00
Yang Tse
5db0a412ff atoi: remove atoi usage 2010-11-28 23:11:14 +01:00
Dan Fandrich
46041ee918 Added a couple examples that were missing from the tar ball 2010-11-19 17:17:38 -08:00
Daniel Stenberg
0a2edfc348 version-check.pl: display version number for symbols
This script is the start of a helper tool that scans a source code and
outputs the most recent libcurl version it finds symbols for. Meaning
that if there's no conditions in the code, that's the earliest libcurl
version the scanned code requires.

It is not added to the Makefile.am yet as it is still a bit crude, but
I'm committing it to keep it and allow us to work on it.
2010-11-12 23:29:29 +01:00
Yang Tse
34498c13be fix snapshot generation 2010-11-07 03:39:31 +01:00
Daniel Stenberg
809a748124 fopen.c: re-indented, fixed previous mistake
I've made the code intended using curl-style now to look more like other
examples.

My previous "fix" was a bit too invasive but is now fixed again.
2010-11-04 11:43:50 +01:00
Daniel Stenberg
542318b113 multi use: call multi_perform even on select() timeouts 2010-11-04 11:37:23 +01:00
Daniel Stenberg
909e711e74 example: add smtp-multi.c
An example application source code sending SMTP mail with the multi
interface. It is based on the code Alona Rossen provided, which in turn
is based on existing example/test code, and I converted it even more
into a decent example with a fair multi API use, put the info required
to edit at the top and I added some comments.
2010-11-04 10:32:38 +01:00
Daniel Stenberg
18e7b52e8e examples: use example.com in example URLs 2010-10-05 15:00:19 +02:00
Dirk Manske
5fb4279ec7 multi & hiper examples: updates and cleanups
all multi and hiper examples:

* don't loop curl_multi_perform calls, that was <7.20.0 style, currently
  the exported multi functions will not return CURLM_CALL_MULTI_PERFORM

all hiper examples:
* renamed check_run_count to check_multi_info
* don't  compare current running handle count with previous value, this
  was the wrong way to check for finished requests, simply call
  curl_multi_info_read
* it's also safe to call curl_multi_remove_handle inside the
  curl_multi_info_read loop.

ghiper.c:
* replaced curl_multi_socket (that function is marked as obsolete) calls
  with curl_multi_socket_action calls (as in hiperfifo.c and
  evhiperfifo.c)

ghiper.c and evhiperfifo.c:
* be smart as hiperfifo.c, don't do uncessary curl_multi_* calls in
  new_conn and main
2010-09-30 22:20:52 +02:00
James Bursa
fbefd816e4 getinmemory: make the example easier to follow
1. Remove the comment warning that it's "not been verified to work". It
   works with no problems in my testing.

2. Remove 2 unnecessary includes.

3. Remove the myrealloc(). Initialize chunk.memory with malloc() instead
   of NULL. The comments for these two parts contradicted each other.

4. Handle out of memory from realloc() instead of continuing.

5. Print a brief status message at the end.
2010-09-14 22:52:04 +02:00
Daniel Stenberg
fc308282ac .gitignore: ignore all built examples 2010-08-02 23:47:44 +02:00
Daniel Stenberg
e9f3513264 example: fix code to build warning-free 2010-08-02 23:46:24 +02:00
Constantine Sapuntzakis
bc0699f226 examples: add curl_multi_timeout
Make the multi-interface using examples use curl_multi_timeout to
properly educate users how to do things.
2010-07-14 00:32:53 +02:00
Pavel Raiskup
31dd8ab1d6 examples: new FTP wildcard showcase 2010-06-24 23:41:09 +02:00
Kamil Dudka
d487ade72c test536: do not fail with threaded DNS resolver
Also tweaked comments in certain examples using curl_multi_fdset().
2010-04-24 12:14:21 +02:00
Daniel Stenberg
05de2cf180 remove all .cvsignore files 2010-03-25 23:22:03 +01:00
Daniel Stenberg
2309b4e330 remove the CVSish $Id$ lines 2010-03-24 11:02:54 +01:00
Daniel Stenberg
eef316f099 spellchecked by Stphane Fillod 2010-02-26 22:58:24 +00:00
Yang Tse
46b112bcd4 replaced tabs with spaces 2010-02-16 13:32:45 +00:00
Yang Tse
a07bc79117 removed trailing whitespace 2010-02-14 19:40:18 +00:00
Daniel Stenberg
a74e885bef Yun Fu pointed out a flaw in the loop that checks handles, and I indented
the code more curl-style
2010-01-21 09:53:30 +00:00
Daniel Stenberg
2e83006603 use the modern name for this option 2010-01-04 18:43:29 +00:00
Yang Tse
55e68ba333 I removed leading 'curl' path on the 'curlbuild.h' include statement in
curl.h, adjusting auto-makefiles include path, to enhance portability to
OS's without an orthogonal directory tree structure such as OS/400.
2009-11-05 15:04:03 +00:00
Daniel Stenberg
f39380b1ac strerror() => curl_easy_strerror() 2009-11-02 21:20:45 +00:00
Gunter Knauf
945feafe25 use stderr for error output. 2009-09-10 18:36:06 +00:00
Gunter Knauf
5389ac0ddf fixed spelling. 2009-09-10 15:00:21 +00:00
Daniel Stenberg
aaed838872 add ftpgetinfo 2009-09-05 17:54:30 +00:00
Gunter Knauf
7df26a5415 added ftpgetinfo sample since users asked frequently for such a sample. 2009-09-05 15:23:37 +00:00
Gunter Knauf
d055226949 added chkspeed to samples. 2009-09-03 17:54:02 +00:00
Gunter Knauf
cf910f3097 updated MingW32 makefile for recent external libs. 2009-09-03 17:53:21 +00:00
Gunter Knauf
9539d32298 added simple chkspeed sample. 2009-08-31 02:06:19 +00:00
Yang Tse
5d502eb90c VMS adjustment 2009-06-10 12:59:59 +00:00
Yang Tse
420bfbcf40 Use curl_off_t and CURL_FORMAT_CURL_OFF_T for file size. 2009-06-08 15:09:47 +00:00
Yang Tse
6582895b51 docs/example patches for VMS 2009-06-05 18:40:40 +00:00
Yang Tse
4677778f85 Remove empty line used to force CVS to update the $Id date string format 2009-05-19 12:12:22 +00:00
Yang Tse
0427b783e2 Add empty line, to force CVS to update the $Id date string format 2009-05-18 12:33:51 +00:00
Gisle Vanem
f11969015a Avoid compiler warning about unused argument. 2009-04-18 09:59:42 +00:00
Daniel Stenberg
79a91b8168 make this example not only replace an internal header but also add a totally
new and non-standard one
2009-01-12 21:29:23 +00:00
Daniel Stenberg
dd2fc45c27 Markus Koetter's adaptation of hiperfifo.c to instead use libev 2008-11-21 10:10:33 +00:00
Daniel Stenberg
0b489c7e61 and now it compiles too! 2008-11-19 15:31:55 +00:00
Daniel Stenberg
22d4db1cf2 I updated this example to use the modern paradigms of the socket API where
*_socket_all() and *_socket() aren't used at all but only *_socket_action()
is.
2008-11-19 15:30:41 +00:00
Dan Fandrich
0eb083e979 Argument to CURLMOPT_MAXCONNECTS must be a long 2008-09-22 17:27:24 +00:00
Dan Fandrich
152cf6325d Checked in some grammatical and minor other fixes in the documentation and
examples that I found in the FreeBSD ports system.
2008-09-10 07:11:45 +00:00
Yang Tse
59e378f48f remove unnecessary typecasting of malloc() 2008-09-06 05:29:05 +00:00
Yang Tse
861b647e7b remove unnecessary typecasting of realloc() 2008-09-06 04:28:43 +00:00
Daniel Stenberg
4c9768565e - Introducing CURLOPT_CERTINFO and the corresponding CURLINFO_CERTINFO. By
enabling this feature with CURLOPT_CERTINFO for a request using SSL (HTTPS
  or FTPS), libcurl will gather lots of server certificate info and that info
  can then get extracted by a client after the request has completed with
  curl_easy_getinfo()'s CURLINFO_CERTINFO option. Linus Nielsen Feltzing
  helped me test and smoothen out this feature.

  Unfortunately, this feature currently only works with libcurl built to use
  OpenSSL.

  This feature was sponsored by networking4all.com - thanks!
2008-09-05 14:29:21 +00:00
Yang Tse
79ffbf7fe1 MSVC adjustment 2008-08-31 12:12:35 +00:00
Gisle Vanem
d8cab4c133 Pick-up programs from Makefile.inc. 2008-08-17 16:20:23 +00:00
Dan Fandrich
cf30b24706 Fixed unused variable warning 2008-08-14 18:41:37 +00:00
Daniel Stenberg
aab2d52b25 httpcustomheader.c is a new tiny example showing a HTTP request with a custom
header replacing an internal one
2008-08-13 08:51:52 +00:00
Yang Tse
14240e9e10 Initial support of curlbuild.h and curlrules.h which allows
to have a curl_off_t data type no longer gated to off_t.
2008-08-07 00:29:08 +00:00
Yang Tse
a00febe1a0 add comment for include paths 2008-07-15 13:54:30 +00:00
Gisle Vanem
a95e600eb0 Added libidn libs as needed. Added compilation of sendrecv.c
and cookie_interface.c.
2008-07-08 13:55:20 +00:00
Dan Fandrich
e664cd5826 Fixed a surprising number of example programs that were passing int arguments
to curl_easy_setopt instead of long.
2008-05-22 21:20:07 +00:00
Daniel Stenberg
c2a84aa6f0 change the code style to be more curlish, and changed some of the output
to be more descriptive and finally set VERBOSE mode to 1 by default
2008-05-19 20:40:53 +00:00
Daniel Stenberg
e059efda1b removed lots of warnings 2008-05-16 21:14:50 +00:00
Dan Fandrich
ade57a781c Included stdint.h to get the intptr_t type (needed on OpenBSD at least). 2008-05-15 22:31:23 +00:00
Daniel Stenberg
514592b892 - Introducing curl_easy_send() and curl_easy_recv(). They can be used to send
and receive data over a connection previously setup with curl_easy_perform()
  and its CURLOPT_CONNECT_ONLY option. The sendrecv.c example was added to
  show how they can be used.
2008-05-12 21:43:24 +00:00
Yang Tse
19479ea021 Internal time differences now use monotonic time source if available.
This also implies the removal of the winmm.lib dependency for WIN32.
2008-05-09 16:31:51 +00:00
Daniel Stenberg
79300cdcd9 return 0 not -1 at end of data! 2008-04-12 08:35:04 +00:00
Dan Fandrich
aa2a54c10a Give a hint as to why a url_fopen failed. 2008-04-04 18:45:37 +00:00
Dan Fandrich
bf52cef16f Made sure that curl_global_init is called in all the multithreaded
example programs.
2008-04-03 20:28:32 +00:00