summaryrefslogtreecommitdiff
path: root/plugins/FTPFileYM/curl/docs/examples
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2013-11-10 21:43:18 +0000
committerGeorge Hazan <george.hazan@gmail.com>2013-11-10 21:43:18 +0000
commit530102b3b16fdc6f008cdf312e5977a878f295db (patch)
tree3159eb3d5712151a33d796b7a0039ae9a4d00e09 /plugins/FTPFileYM/curl/docs/examples
parente40ecc70a7db28bdf78dad5d804e07d08a77159c (diff)
libcurl update
git-svn-id: http://svn.miranda-ng.org/main/trunk@6864 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/FTPFileYM/curl/docs/examples')
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/10-at-a-time.c197
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/Makefile.am64
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/Makefile.example53
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/Makefile.in1153
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/Makefile.inc15
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/Makefile.m32282
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/Makefile.netware441
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/README80
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/anyauthput.c185
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/asiohiper.cpp454
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/cacertinmem.c151
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/certinfo.c86
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/chkspeed.c176
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/cookie_interface.c124
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/curlgtk.c106
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/curlx.c513
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/debug.c147
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/evhiperfifo.c442
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/externalsocket.c153
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/fileupload.c86
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/fopen.c527
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ftp-wildcard.c148
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ftpget.c94
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ftpgetinfo.c89
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ftpgetresp.c76
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ftpsget.c101
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ftpupload.c140
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ftpuploadresume.c174
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/getinfo.c53
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/getinmemory.c112
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/ghiper.c452
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/hiperfifo.c418
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/href_extractor.c86
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/htmltidy.c130
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/htmltitle.cpp313
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/http-post.c55
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/httpcustomheader.c61
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/httpput.c125
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/https.c74
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/imap.c44
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/makefile.dj60
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/multi-app.c153
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/multi-debugcallback.c205
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/multi-double.c119
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/multi-post.c148
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/multi-single.c116
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/multithread.c93
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/opensslthreadlock.c94
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/persistant.c64
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/pop3s.c73
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/pop3slist.c73
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/post-callback.c143
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/postit2.c103
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/progressfunc.c84
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/resolve.c51
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/rtsp.c271
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/sampleconv.c107
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/sendrecv.c135
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/sepheaders.c85
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/sftpget.c106
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/simple.c47
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/simplepost.c53
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/simplesmtp.c87
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/simplessl.c138
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/smooth-gtk-thread.c228
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/smtp-multi.c203
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/smtp-tls.c152
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/synctime.c366
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/threaded-ssl.c162
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/url2file.c81
-rw-r--r--plugins/FTPFileYM/curl/docs/examples/version-check.pl105
71 files changed, 0 insertions, 12085 deletions
diff --git a/plugins/FTPFileYM/curl/docs/examples/10-at-a-time.c b/plugins/FTPFileYM/curl/docs/examples/10-at-a-time.c
deleted file mode 100644
index a85fff46f0..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/10-at-a-time.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example application source code using the multi interface to download many
- * files, but with a capped maximum amount of simultaneous transfers.
- *
- * Written by Michael Wallner
- */
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#ifndef WIN32
-# include <unistd.h>
-#endif
-#include <curl/multi.h>
-
-static const char *urls[] = {
- "http://www.microsoft.com",
- "http://www.opensource.org",
- "http://www.google.com",
- "http://www.yahoo.com",
- "http://www.ibm.com",
- "http://www.mysql.com",
- "http://www.oracle.com",
- "http://www.ripe.net",
- "http://www.iana.org",
- "http://www.amazon.com",
- "http://www.netcraft.com",
- "http://www.heise.de",
- "http://www.chip.de",
- "http://www.ca.com",
- "http://www.cnet.com",
- "http://www.news.com",
- "http://www.cnn.com",
- "http://www.wikipedia.org",
- "http://www.dell.com",
- "http://www.hp.com",
- "http://www.cert.org",
- "http://www.mit.edu",
- "http://www.nist.gov",
- "http://www.ebay.com",
- "http://www.playstation.com",
- "http://www.uefa.com",
- "http://www.ieee.org",
- "http://www.apple.com",
- "http://www.sony.com",
- "http://www.symantec.com",
- "http://www.zdnet.com",
- "http://www.fujitsu.com",
- "http://www.supermicro.com",
- "http://www.hotmail.com",
- "http://www.ecma.com",
- "http://www.bbc.co.uk",
- "http://news.google.com",
- "http://www.foxnews.com",
- "http://www.msn.com",
- "http://www.wired.com",
- "http://www.sky.com",
- "http://www.usatoday.com",
- "http://www.cbs.com",
- "http://www.nbc.com",
- "http://slashdot.org",
- "http://www.bloglines.com",
- "http://www.techweb.com",
- "http://www.newslink.org",
- "http://www.un.org",
-};
-
-#define MAX 10 /* number of simultaneous transfers */
-#define CNT sizeof(urls)/sizeof(char*) /* total number of transfers to do */
-
-static size_t cb(char *d, size_t n, size_t l, void *p)
-{
- /* take care of the data here, ignored in this example */
- (void)d;
- (void)p;
- return n*l;
-}
-
-static void init(CURLM *cm, int i)
-{
- CURL *eh = curl_easy_init();
-
- curl_easy_setopt(eh, CURLOPT_WRITEFUNCTION, cb);
- curl_easy_setopt(eh, CURLOPT_HEADER, 0L);
- curl_easy_setopt(eh, CURLOPT_URL, urls[i]);
- curl_easy_setopt(eh, CURLOPT_PRIVATE, urls[i]);
- curl_easy_setopt(eh, CURLOPT_VERBOSE, 0L);
-
- curl_multi_add_handle(cm, eh);
-}
-
-int main(void)
-{
- CURLM *cm;
- CURLMsg *msg;
- long L;
- unsigned int C=0;
- int M, Q, U = -1;
- fd_set R, W, E;
- struct timeval T;
-
- curl_global_init(CURL_GLOBAL_ALL);
-
- cm = curl_multi_init();
-
- /* we can optionally limit the total amount of connections this multi handle
- uses */
- curl_multi_setopt(cm, CURLMOPT_MAXCONNECTS, (long)MAX);
-
- for (C = 0; C < MAX; ++C) {
- init(cm, C);
- }
-
- while (U) {
- curl_multi_perform(cm, &U);
-
- if (U) {
- FD_ZERO(&R);
- FD_ZERO(&W);
- FD_ZERO(&E);
-
- if (curl_multi_fdset(cm, &R, &W, &E, &M)) {
- fprintf(stderr, "E: curl_multi_fdset\n");
- return EXIT_FAILURE;
- }
-
- if (curl_multi_timeout(cm, &L)) {
- fprintf(stderr, "E: curl_multi_timeout\n");
- return EXIT_FAILURE;
- }
- if (L == -1)
- L = 100;
-
- if (M == -1) {
-#ifdef WIN32
- Sleep(L);
-#else
- sleep(L / 1000);
-#endif
- } else {
- T.tv_sec = L/1000;
- T.tv_usec = (L%1000)*1000;
-
- if (0 > select(M+1, &R, &W, &E, &T)) {
- fprintf(stderr, "E: select(%i,,,,%li): %i: %s\n",
- M+1, L, errno, strerror(errno));
- return EXIT_FAILURE;
- }
- }
- }
-
- while ((msg = curl_multi_info_read(cm, &Q))) {
- if (msg->msg == CURLMSG_DONE) {
- char *url;
- CURL *e = msg->easy_handle;
- curl_easy_getinfo(msg->easy_handle, CURLINFO_PRIVATE, &url);
- fprintf(stderr, "R: %d - %s <%s>\n",
- msg->data.result, curl_easy_strerror(msg->data.result), url);
- curl_multi_remove_handle(cm, e);
- curl_easy_cleanup(e);
- }
- else {
- fprintf(stderr, "E: CURLMsg (%d)\n", msg->msg);
- }
- if (C < CNT) {
- init(cm, C++);
- U++; /* just to prevent it from remaining at 0 if there are more
- URLs to get */
- }
- }
- }
-
- curl_multi_cleanup(cm);
- curl_global_cleanup();
-
- return EXIT_SUCCESS;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/Makefile.am b/plugins/FTPFileYM/curl/docs/examples/Makefile.am
deleted file mode 100644
index cbfdac5025..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/Makefile.am
+++ /dev/null
@@ -1,64 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-###########################################################################
-
-AUTOMAKE_OPTIONS = foreign nostdinc
-
-EXTRA_DIST = README Makefile.example Makefile.inc Makefile.m32 \
- Makefile.netware makefile.dj $(COMPLICATED_EXAMPLES)
-
-# Specify our include paths here, and do it relative to $(top_srcdir) and
-# $(top_builddir), to ensure that these paths which belong to the library
-# being currently built and tested are searched before the library which
-# might possibly already be installed in the system.
-#
-# $(top_builddir)/include/curl for generated curlbuild.h included from curl.h
-# $(top_builddir)/include for generated curlbuild.h inc. from lib/curl_setup.h
-# $(top_srcdir)/include is for libcurl's external include files
-
-AM_CPPFLAGS = -I$(top_builddir)/include/curl \
- -I$(top_builddir)/include \
- -I$(top_srcdir)/include
-
-LIBDIR = $(top_builddir)/lib
-
-# Avoid libcurl obsolete stuff
-AM_CPPFLAGS += -DCURL_NO_OLDIES
-
-# Mostly for Windows build targets, when using static libcurl
-if USE_CPPFLAG_CURL_STATICLIB
-AM_CPPFLAGS += -DCURL_STATICLIB
-endif
-
-# Prevent LIBS from being used for all link targets
-LIBS = $(BLANK_AT_MAKETIME)
-
-# Dependencies
-if USE_EXPLICIT_LIB_DEPS
-LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@
-else
-LDADD = $(LIBDIR)/libcurl.la
-endif
-
-# Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
-include Makefile.inc
-
-all: $(check_PROGRAMS)
diff --git a/plugins/FTPFileYM/curl/docs/examples/Makefile.example b/plugins/FTPFileYM/curl/docs/examples/Makefile.example
deleted file mode 100644
index dfd117873a..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/Makefile.example
+++ /dev/null
@@ -1,53 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-###########################################################################
-
-# What to call the final executable
-TARGET = example
-
-# Which object files that the executable consists of
-OBJS= ftpget.o
-
-# What compiler to use
-CC = gcc
-
-# Compiler flags, -g for debug, -c to make an object file
-CFLAGS = -c -g
-
-# This should point to a directory that holds libcurl, if it isn't
-# in the system's standard lib dir
-# We also set a -L to include the directory where we have the openssl
-# libraries
-LDFLAGS = -L/home/dast/lib -L/usr/local/ssl/lib
-
-# We need -lcurl for the curl stuff
-# We need -lsocket and -lnsl when on Solaris
-# We need -lssl and -lcrypto when using libcurl with SSL support
-# We need -lpthread for the pthread example
-LIBS = -lcurl -lsocket -lnsl -lssl -lcrypto
-
-# Link the target with all objects and libraries
-$(TARGET) : $(OBJS)
- $(CC) -o $(TARGET) $(OBJS) $(LDFLAGS) $(LIBS)
-
-# Compile the source files into object files
-ftpget.o : ftpget.c
- $(CC) $(CFLAGS) $<
diff --git a/plugins/FTPFileYM/curl/docs/examples/Makefile.in b/plugins/FTPFileYM/curl/docs/examples/Makefile.in
deleted file mode 100644
index 77e07289f6..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/Makefile.in
+++ /dev/null
@@ -1,1153 +0,0 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-###########################################################################
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-
-# Mostly for Windows build targets, when using static libcurl
-@USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.inc
-check_PROGRAMS = 10-at-a-time$(EXEEXT) anyauthput$(EXEEXT) \
- cookie_interface$(EXEEXT) debug$(EXEEXT) fileupload$(EXEEXT) \
- fopen$(EXEEXT) ftpget$(EXEEXT) ftpgetresp$(EXEEXT) \
- ftpupload$(EXEEXT) getinfo$(EXEEXT) getinmemory$(EXEEXT) \
- http-post$(EXEEXT) httpput$(EXEEXT) https$(EXEEXT) \
- multi-app$(EXEEXT) multi-debugcallback$(EXEEXT) \
- multi-double$(EXEEXT) multi-post$(EXEEXT) \
- multi-single$(EXEEXT) persistant$(EXEEXT) \
- post-callback$(EXEEXT) postit2$(EXEEXT) sepheaders$(EXEEXT) \
- simple$(EXEEXT) simplepost$(EXEEXT) simplessl$(EXEEXT) \
- sendrecv$(EXEEXT) httpcustomheader$(EXEEXT) certinfo$(EXEEXT) \
- chkspeed$(EXEEXT) ftpgetinfo$(EXEEXT) ftp-wildcard$(EXEEXT) \
- smtp-multi$(EXEEXT) simplesmtp$(EXEEXT) smtp-tls$(EXEEXT) \
- rtsp$(EXEEXT) externalsocket$(EXEEXT) resolve$(EXEEXT) \
- progressfunc$(EXEEXT) pop3s$(EXEEXT) pop3slist$(EXEEXT) \
- imap$(EXEEXT) url2file$(EXEEXT) sftpget$(EXEEXT) \
- ftpsget$(EXEEXT)
-subdir = docs/examples
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
- $(top_srcdir)/m4/curl-confopts.m4 \
- $(top_srcdir)/m4/curl-functions.m4 \
- $(top_srcdir)/m4/curl-openssl.m4 \
- $(top_srcdir)/m4/curl-override.m4 \
- $(top_srcdir)/m4/curl-reentrant.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/xc-cc-check.m4 \
- $(top_srcdir)/m4/xc-translit.m4 \
- $(top_srcdir)/m4/xc-val-flgs.m4 \
- $(top_srcdir)/m4/zz40-xc-ovr.m4 \
- $(top_srcdir)/m4/zz50-xc-ovr.m4 \
- $(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
- $(top_builddir)/include/curl/curlbuild.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-10_at_a_time_SOURCES = 10-at-a-time.c
-10_at_a_time_OBJECTS = 10-at-a-time.$(OBJEXT)
-10_at_a_time_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@10_at_a_time_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@10_at_a_time_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-anyauthput_SOURCES = anyauthput.c
-anyauthput_OBJECTS = anyauthput.$(OBJEXT)
-anyauthput_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@anyauthput_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@anyauthput_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-certinfo_SOURCES = certinfo.c
-certinfo_OBJECTS = certinfo.$(OBJEXT)
-certinfo_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@certinfo_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@certinfo_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-chkspeed_SOURCES = chkspeed.c
-chkspeed_OBJECTS = chkspeed.$(OBJEXT)
-chkspeed_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@chkspeed_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@chkspeed_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-cookie_interface_SOURCES = cookie_interface.c
-cookie_interface_OBJECTS = cookie_interface.$(OBJEXT)
-cookie_interface_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@cookie_interface_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@cookie_interface_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-debug_SOURCES = debug.c
-debug_OBJECTS = debug.$(OBJEXT)
-debug_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@debug_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@debug_DEPENDENCIES = $(LIBDIR)/libcurl.la
-externalsocket_SOURCES = externalsocket.c
-externalsocket_OBJECTS = externalsocket.$(OBJEXT)
-externalsocket_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@externalsocket_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@externalsocket_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-fileupload_SOURCES = fileupload.c
-fileupload_OBJECTS = fileupload.$(OBJEXT)
-fileupload_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@fileupload_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@fileupload_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-fopen_SOURCES = fopen.c
-fopen_OBJECTS = fopen.$(OBJEXT)
-fopen_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@fopen_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@fopen_DEPENDENCIES = $(LIBDIR)/libcurl.la
-ftp_wildcard_SOURCES = ftp-wildcard.c
-ftp_wildcard_OBJECTS = ftp-wildcard.$(OBJEXT)
-ftp_wildcard_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@ftp_wildcard_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@ftp_wildcard_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-ftpget_SOURCES = ftpget.c
-ftpget_OBJECTS = ftpget.$(OBJEXT)
-ftpget_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@ftpget_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@ftpget_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-ftpgetinfo_SOURCES = ftpgetinfo.c
-ftpgetinfo_OBJECTS = ftpgetinfo.$(OBJEXT)
-ftpgetinfo_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@ftpgetinfo_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@ftpgetinfo_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-ftpgetresp_SOURCES = ftpgetresp.c
-ftpgetresp_OBJECTS = ftpgetresp.$(OBJEXT)
-ftpgetresp_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@ftpgetresp_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@ftpgetresp_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-ftpsget_SOURCES = ftpsget.c
-ftpsget_OBJECTS = ftpsget.$(OBJEXT)
-ftpsget_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@ftpsget_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@ftpsget_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-ftpupload_SOURCES = ftpupload.c
-ftpupload_OBJECTS = ftpupload.$(OBJEXT)
-ftpupload_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@ftpupload_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@ftpupload_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-getinfo_SOURCES = getinfo.c
-getinfo_OBJECTS = getinfo.$(OBJEXT)
-getinfo_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@getinfo_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@getinfo_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-getinmemory_SOURCES = getinmemory.c
-getinmemory_OBJECTS = getinmemory.$(OBJEXT)
-getinmemory_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@getinmemory_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@getinmemory_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-http_post_SOURCES = http-post.c
-http_post_OBJECTS = http-post.$(OBJEXT)
-http_post_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@http_post_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@http_post_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-httpcustomheader_SOURCES = httpcustomheader.c
-httpcustomheader_OBJECTS = httpcustomheader.$(OBJEXT)
-httpcustomheader_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@httpcustomheader_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@httpcustomheader_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-httpput_SOURCES = httpput.c
-httpput_OBJECTS = httpput.$(OBJEXT)
-httpput_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@httpput_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@httpput_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-https_SOURCES = https.c
-https_OBJECTS = https.$(OBJEXT)
-https_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@https_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@https_DEPENDENCIES = $(LIBDIR)/libcurl.la
-imap_SOURCES = imap.c
-imap_OBJECTS = imap.$(OBJEXT)
-imap_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@imap_DEPENDENCIES = $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@imap_DEPENDENCIES = $(LIBDIR)/libcurl.la
-multi_app_SOURCES = multi-app.c
-multi_app_OBJECTS = multi-app.$(OBJEXT)
-multi_app_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@multi_app_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@multi_app_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-multi_debugcallback_SOURCES = multi-debugcallback.c
-multi_debugcallback_OBJECTS = multi-debugcallback.$(OBJEXT)
-multi_debugcallback_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@multi_debugcallback_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@multi_debugcallback_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-multi_double_SOURCES = multi-double.c
-multi_double_OBJECTS = multi-double.$(OBJEXT)
-multi_double_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@multi_double_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@multi_double_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-multi_post_SOURCES = multi-post.c
-multi_post_OBJECTS = multi-post.$(OBJEXT)
-multi_post_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@multi_post_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@multi_post_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-multi_single_SOURCES = multi-single.c
-multi_single_OBJECTS = multi-single.$(OBJEXT)
-multi_single_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@multi_single_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@multi_single_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-persistant_SOURCES = persistant.c
-persistant_OBJECTS = persistant.$(OBJEXT)
-persistant_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@persistant_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@persistant_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-pop3s_SOURCES = pop3s.c
-pop3s_OBJECTS = pop3s.$(OBJEXT)
-pop3s_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@pop3s_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@pop3s_DEPENDENCIES = $(LIBDIR)/libcurl.la
-pop3slist_SOURCES = pop3slist.c
-pop3slist_OBJECTS = pop3slist.$(OBJEXT)
-pop3slist_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@pop3slist_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@pop3slist_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-post_callback_SOURCES = post-callback.c
-post_callback_OBJECTS = post-callback.$(OBJEXT)
-post_callback_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@post_callback_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@post_callback_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-postit2_SOURCES = postit2.c
-postit2_OBJECTS = postit2.$(OBJEXT)
-postit2_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@postit2_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@postit2_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-progressfunc_SOURCES = progressfunc.c
-progressfunc_OBJECTS = progressfunc.$(OBJEXT)
-progressfunc_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@progressfunc_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@progressfunc_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-resolve_SOURCES = resolve.c
-resolve_OBJECTS = resolve.$(OBJEXT)
-resolve_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@resolve_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@resolve_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-rtsp_SOURCES = rtsp.c
-rtsp_OBJECTS = rtsp.$(OBJEXT)
-rtsp_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@rtsp_DEPENDENCIES = $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@rtsp_DEPENDENCIES = $(LIBDIR)/libcurl.la
-sendrecv_SOURCES = sendrecv.c
-sendrecv_OBJECTS = sendrecv.$(OBJEXT)
-sendrecv_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@sendrecv_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@sendrecv_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-sepheaders_SOURCES = sepheaders.c
-sepheaders_OBJECTS = sepheaders.$(OBJEXT)
-sepheaders_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@sepheaders_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@sepheaders_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-sftpget_SOURCES = sftpget.c
-sftpget_OBJECTS = sftpget.$(OBJEXT)
-sftpget_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@sftpget_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@sftpget_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-simple_SOURCES = simple.c
-simple_OBJECTS = simple.$(OBJEXT)
-simple_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@simple_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@simple_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-simplepost_SOURCES = simplepost.c
-simplepost_OBJECTS = simplepost.$(OBJEXT)
-simplepost_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@simplepost_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@simplepost_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-simplesmtp_SOURCES = simplesmtp.c
-simplesmtp_OBJECTS = simplesmtp.$(OBJEXT)
-simplesmtp_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@simplesmtp_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@simplesmtp_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-simplessl_SOURCES = simplessl.c
-simplessl_OBJECTS = simplessl.$(OBJEXT)
-simplessl_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@simplessl_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@simplessl_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-smtp_multi_SOURCES = smtp-multi.c
-smtp_multi_OBJECTS = smtp-multi.$(OBJEXT)
-smtp_multi_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@smtp_multi_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@smtp_multi_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-smtp_tls_SOURCES = smtp-tls.c
-smtp_tls_OBJECTS = smtp-tls.$(OBJEXT)
-smtp_tls_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@smtp_tls_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@smtp_tls_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-url2file_SOURCES = url2file.c
-url2file_OBJECTS = url2file.$(OBJEXT)
-url2file_LDADD = $(LDADD)
-@USE_EXPLICIT_LIB_DEPS_FALSE@url2file_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
-@USE_EXPLICIT_LIB_DEPS_TRUE@url2file_DEPENDENCIES = \
-@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
-DEFAULT_INCLUDES =
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = 10-at-a-time.c anyauthput.c certinfo.c chkspeed.c \
- cookie_interface.c debug.c externalsocket.c fileupload.c \
- fopen.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c \
- ftpsget.c ftpupload.c getinfo.c getinmemory.c http-post.c \
- httpcustomheader.c httpput.c https.c imap.c multi-app.c \
- multi-debugcallback.c multi-double.c multi-post.c \
- multi-single.c persistant.c pop3s.c pop3slist.c \
- post-callback.c postit2.c progressfunc.c resolve.c rtsp.c \
- sendrecv.c sepheaders.c sftpget.c simple.c simplepost.c \
- simplesmtp.c simplessl.c smtp-multi.c smtp-tls.c url2file.c
-DIST_SOURCES = 10-at-a-time.c anyauthput.c certinfo.c chkspeed.c \
- cookie_interface.c debug.c externalsocket.c fileupload.c \
- fopen.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c \
- ftpsget.c ftpupload.c getinfo.c getinmemory.c http-post.c \
- httpcustomheader.c httpput.c https.c imap.c multi-app.c \
- multi-debugcallback.c multi-double.c multi-post.c \
- multi-single.c persistant.c pop3s.c pop3slist.c \
- post-callback.c postit2.c progressfunc.c resolve.c rtsp.c \
- sendrecv.c sepheaders.c sftpget.c simple.c simplepost.c \
- simplesmtp.c simplessl.c smtp-multi.c smtp-tls.c url2file.c
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
-CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
-CURLVERSION = @CURLVERSION@
-CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
-CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
-CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
-CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
-CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
-CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
-CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
-CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
-CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
-CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
-CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
-CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
-CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
-CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
-CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
-CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
-CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@
-CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_SHARED = @ENABLE_SHARED@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
-HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
-HAVE_LIBZ = @HAVE_LIBZ@
-HAVE_NSS_INITCONTEXT = @HAVE_NSS_INITCONTEXT@
-HAVE_SSLEAY_SRP = @HAVE_SSLEAY_SRP@
-IDN_ENABLED = @IDN_ENABLED@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-IPV6_ENABLED = @IPV6_ENABLED@
-KRB4_ENABLED = @KRB4_ENABLED@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBCURL_LIBS = @LIBCURL_LIBS@
-LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
-LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
-LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
-LIBOBJS = @LIBOBJS@
-
-# Prevent LIBS from being used for all link targets
-LIBS = $(BLANK_AT_MAKETIME)
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MANOPT = @MANOPT@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-NROFF = @NROFF@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKGADD_NAME = @PKGADD_NAME@
-PKGADD_PKG = @PKGADD_PKG@
-PKGADD_VENDOR = @PKGADD_VENDOR@
-PKGCONFIG = @PKGCONFIG@
-RANDOM_FILE = @RANDOM_FILE@
-RANLIB = @RANLIB@
-REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SSL_ENABLED = @SSL_ENABLED@
-STRIP = @STRIP@
-SUPPORT_FEATURES = @SUPPORT_FEATURES@
-SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
-USE_ARES = @USE_ARES@
-USE_AXTLS = @USE_AXTLS@
-USE_CYASSL = @USE_CYASSL@
-USE_DARWINSSL = @USE_DARWINSSL@
-USE_GNUTLS = @USE_GNUTLS@
-USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
-USE_LIBRTMP = @USE_LIBRTMP@
-USE_LIBSSH2 = @USE_LIBSSH2@
-USE_NSS = @USE_NSS@
-USE_OPENLDAP = @USE_OPENLDAP@
-USE_POLARSSL = @USE_POLARSSL@
-USE_SCHANNEL = @USE_SCHANNEL@
-USE_SSLEAY = @USE_SSLEAY@
-USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
-VERSION = @VERSION@
-VERSIONED_FLAVOUR = @VERSIONED_FLAVOUR@
-VERSIONNUM = @VERSIONNUM@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libext = @libext@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign nostdinc
-EXTRA_DIST = README Makefile.example Makefile.inc Makefile.m32 \
- Makefile.netware makefile.dj $(COMPLICATED_EXAMPLES)
-
-
-# Specify our include paths here, and do it relative to $(top_srcdir) and
-# $(top_builddir), to ensure that these paths which belong to the library
-# being currently built and tested are searched before the library which
-# might possibly already be installed in the system.
-#
-# $(top_builddir)/include/curl for generated curlbuild.h included from curl.h
-# $(top_builddir)/include for generated curlbuild.h inc. from lib/curl_setup.h
-# $(top_srcdir)/include is for libcurl's external include files
-
-# Avoid libcurl obsolete stuff
-AM_CPPFLAGS = -I$(top_builddir)/include/curl -I$(top_builddir)/include \
- -I$(top_srcdir)/include -DCURL_NO_OLDIES $(am__append_1)
-LIBDIR = $(top_builddir)/lib
-@USE_EXPLICIT_LIB_DEPS_FALSE@LDADD = $(LIBDIR)/libcurl.la
-
-# Dependencies
-@USE_EXPLICIT_LIB_DEPS_TRUE@LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@
-
-# These examples require external dependencies that may not be commonly
-# available on POSIX systems, so don't bother attempting to compile them here.
-COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \
- ftpuploadresume.c ghiper.c hiperfifo.c htmltidy.c multithread.c \
- opensslthreadlock.c sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \
- smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/examples/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign docs/examples/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-$(srcdir)/Makefile.inc:
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-10-at-a-time$(EXEEXT): $(10_at_a_time_OBJECTS) $(10_at_a_time_DEPENDENCIES) $(EXTRA_10_at_a_time_DEPENDENCIES)
- @rm -f 10-at-a-time$(EXEEXT)
- $(LINK) $(10_at_a_time_OBJECTS) $(10_at_a_time_LDADD) $(LIBS)
-anyauthput$(EXEEXT): $(anyauthput_OBJECTS) $(anyauthput_DEPENDENCIES) $(EXTRA_anyauthput_DEPENDENCIES)
- @rm -f anyauthput$(EXEEXT)
- $(LINK) $(anyauthput_OBJECTS) $(anyauthput_LDADD) $(LIBS)
-certinfo$(EXEEXT): $(certinfo_OBJECTS) $(certinfo_DEPENDENCIES) $(EXTRA_certinfo_DEPENDENCIES)
- @rm -f certinfo$(EXEEXT)
- $(LINK) $(certinfo_OBJECTS) $(certinfo_LDADD) $(LIBS)
-chkspeed$(EXEEXT): $(chkspeed_OBJECTS) $(chkspeed_DEPENDENCIES) $(EXTRA_chkspeed_DEPENDENCIES)
- @rm -f chkspeed$(EXEEXT)
- $(LINK) $(chkspeed_OBJECTS) $(chkspeed_LDADD) $(LIBS)
-cookie_interface$(EXEEXT): $(cookie_interface_OBJECTS) $(cookie_interface_DEPENDENCIES) $(EXTRA_cookie_interface_DEPENDENCIES)
- @rm -f cookie_interface$(EXEEXT)
- $(LINK) $(cookie_interface_OBJECTS) $(cookie_interface_LDADD) $(LIBS)
-debug$(EXEEXT): $(debug_OBJECTS) $(debug_DEPENDENCIES) $(EXTRA_debug_DEPENDENCIES)
- @rm -f debug$(EXEEXT)
- $(LINK) $(debug_OBJECTS) $(debug_LDADD) $(LIBS)
-externalsocket$(EXEEXT): $(externalsocket_OBJECTS) $(externalsocket_DEPENDENCIES) $(EXTRA_externalsocket_DEPENDENCIES)
- @rm -f externalsocket$(EXEEXT)
- $(LINK) $(externalsocket_OBJECTS) $(externalsocket_LDADD) $(LIBS)
-fileupload$(EXEEXT): $(fileupload_OBJECTS) $(fileupload_DEPENDENCIES) $(EXTRA_fileupload_DEPENDENCIES)
- @rm -f fileupload$(EXEEXT)
- $(LINK) $(fileupload_OBJECTS) $(fileupload_LDADD) $(LIBS)
-fopen$(EXEEXT): $(fopen_OBJECTS) $(fopen_DEPENDENCIES) $(EXTRA_fopen_DEPENDENCIES)
- @rm -f fopen$(EXEEXT)
- $(LINK) $(fopen_OBJECTS) $(fopen_LDADD) $(LIBS)
-ftp-wildcard$(EXEEXT): $(ftp_wildcard_OBJECTS) $(ftp_wildcard_DEPENDENCIES) $(EXTRA_ftp_wildcard_DEPENDENCIES)
- @rm -f ftp-wildcard$(EXEEXT)
- $(LINK) $(ftp_wildcard_OBJECTS) $(ftp_wildcard_LDADD) $(LIBS)
-ftpget$(EXEEXT): $(ftpget_OBJECTS) $(ftpget_DEPENDENCIES) $(EXTRA_ftpget_DEPENDENCIES)
- @rm -f ftpget$(EXEEXT)
- $(LINK) $(ftpget_OBJECTS) $(ftpget_LDADD) $(LIBS)
-ftpgetinfo$(EXEEXT): $(ftpgetinfo_OBJECTS) $(ftpgetinfo_DEPENDENCIES) $(EXTRA_ftpgetinfo_DEPENDENCIES)
- @rm -f ftpgetinfo$(EXEEXT)
- $(LINK) $(ftpgetinfo_OBJECTS) $(ftpgetinfo_LDADD) $(LIBS)
-ftpgetresp$(EXEEXT): $(ftpgetresp_OBJECTS) $(ftpgetresp_DEPENDENCIES) $(EXTRA_ftpgetresp_DEPENDENCIES)
- @rm -f ftpgetresp$(EXEEXT)
- $(LINK) $(ftpgetresp_OBJECTS) $(ftpgetresp_LDADD) $(LIBS)
-ftpsget$(EXEEXT): $(ftpsget_OBJECTS) $(ftpsget_DEPENDENCIES) $(EXTRA_ftpsget_DEPENDENCIES)
- @rm -f ftpsget$(EXEEXT)
- $(LINK) $(ftpsget_OBJECTS) $(ftpsget_LDADD) $(LIBS)
-ftpupload$(EXEEXT): $(ftpupload_OBJECTS) $(ftpupload_DEPENDENCIES) $(EXTRA_ftpupload_DEPENDENCIES)
- @rm -f ftpupload$(EXEEXT)
- $(LINK) $(ftpupload_OBJECTS) $(ftpupload_LDADD) $(LIBS)
-getinfo$(EXEEXT): $(getinfo_OBJECTS) $(getinfo_DEPENDENCIES) $(EXTRA_getinfo_DEPENDENCIES)
- @rm -f getinfo$(EXEEXT)
- $(LINK) $(getinfo_OBJECTS) $(getinfo_LDADD) $(LIBS)
-getinmemory$(EXEEXT): $(getinmemory_OBJECTS) $(getinmemory_DEPENDENCIES) $(EXTRA_getinmemory_DEPENDENCIES)
- @rm -f getinmemory$(EXEEXT)
- $(LINK) $(getinmemory_OBJECTS) $(getinmemory_LDADD) $(LIBS)
-http-post$(EXEEXT): $(http_post_OBJECTS) $(http_post_DEPENDENCIES) $(EXTRA_http_post_DEPENDENCIES)
- @rm -f http-post$(EXEEXT)
- $(LINK) $(http_post_OBJECTS) $(http_post_LDADD) $(LIBS)
-httpcustomheader$(EXEEXT): $(httpcustomheader_OBJECTS) $(httpcustomheader_DEPENDENCIES) $(EXTRA_httpcustomheader_DEPENDENCIES)
- @rm -f httpcustomheader$(EXEEXT)
- $(LINK) $(httpcustomheader_OBJECTS) $(httpcustomheader_LDADD) $(LIBS)
-httpput$(EXEEXT): $(httpput_OBJECTS) $(httpput_DEPENDENCIES) $(EXTRA_httpput_DEPENDENCIES)
- @rm -f httpput$(EXEEXT)
- $(LINK) $(httpput_OBJECTS) $(httpput_LDADD) $(LIBS)
-https$(EXEEXT): $(https_OBJECTS) $(https_DEPENDENCIES) $(EXTRA_https_DEPENDENCIES)
- @rm -f https$(EXEEXT)
- $(LINK) $(https_OBJECTS) $(https_LDADD) $(LIBS)
-imap$(EXEEXT): $(imap_OBJECTS) $(imap_DEPENDENCIES) $(EXTRA_imap_DEPENDENCIES)
- @rm -f imap$(EXEEXT)
- $(LINK) $(imap_OBJECTS) $(imap_LDADD) $(LIBS)
-multi-app$(EXEEXT): $(multi_app_OBJECTS) $(multi_app_DEPENDENCIES) $(EXTRA_multi_app_DEPENDENCIES)
- @rm -f multi-app$(EXEEXT)
- $(LINK) $(multi_app_OBJECTS) $(multi_app_LDADD) $(LIBS)
-multi-debugcallback$(EXEEXT): $(multi_debugcallback_OBJECTS) $(multi_debugcallback_DEPENDENCIES) $(EXTRA_multi_debugcallback_DEPENDENCIES)
- @rm -f multi-debugcallback$(EXEEXT)
- $(LINK) $(multi_debugcallback_OBJECTS) $(multi_debugcallback_LDADD) $(LIBS)
-multi-double$(EXEEXT): $(multi_double_OBJECTS) $(multi_double_DEPENDENCIES) $(EXTRA_multi_double_DEPENDENCIES)
- @rm -f multi-double$(EXEEXT)
- $(LINK) $(multi_double_OBJECTS) $(multi_double_LDADD) $(LIBS)
-multi-post$(EXEEXT): $(multi_post_OBJECTS) $(multi_post_DEPENDENCIES) $(EXTRA_multi_post_DEPENDENCIES)
- @rm -f multi-post$(EXEEXT)
- $(LINK) $(multi_post_OBJECTS) $(multi_post_LDADD) $(LIBS)
-multi-single$(EXEEXT): $(multi_single_OBJECTS) $(multi_single_DEPENDENCIES) $(EXTRA_multi_single_DEPENDENCIES)
- @rm -f multi-single$(EXEEXT)
- $(LINK) $(multi_single_OBJECTS) $(multi_single_LDADD) $(LIBS)
-persistant$(EXEEXT): $(persistant_OBJECTS) $(persistant_DEPENDENCIES) $(EXTRA_persistant_DEPENDENCIES)
- @rm -f persistant$(EXEEXT)
- $(LINK) $(persistant_OBJECTS) $(persistant_LDADD) $(LIBS)
-pop3s$(EXEEXT): $(pop3s_OBJECTS) $(pop3s_DEPENDENCIES) $(EXTRA_pop3s_DEPENDENCIES)
- @rm -f pop3s$(EXEEXT)
- $(LINK) $(pop3s_OBJECTS) $(pop3s_LDADD) $(LIBS)
-pop3slist$(EXEEXT): $(pop3slist_OBJECTS) $(pop3slist_DEPENDENCIES) $(EXTRA_pop3slist_DEPENDENCIES)
- @rm -f pop3slist$(EXEEXT)
- $(LINK) $(pop3slist_OBJECTS) $(pop3slist_LDADD) $(LIBS)
-post-callback$(EXEEXT): $(post_callback_OBJECTS) $(post_callback_DEPENDENCIES) $(EXTRA_post_callback_DEPENDENCIES)
- @rm -f post-callback$(EXEEXT)
- $(LINK) $(post_callback_OBJECTS) $(post_callback_LDADD) $(LIBS)
-postit2$(EXEEXT): $(postit2_OBJECTS) $(postit2_DEPENDENCIES) $(EXTRA_postit2_DEPENDENCIES)
- @rm -f postit2$(EXEEXT)
- $(LINK) $(postit2_OBJECTS) $(postit2_LDADD) $(LIBS)
-progressfunc$(EXEEXT): $(progressfunc_OBJECTS) $(progressfunc_DEPENDENCIES) $(EXTRA_progressfunc_DEPENDENCIES)
- @rm -f progressfunc$(EXEEXT)
- $(LINK) $(progressfunc_OBJECTS) $(progressfunc_LDADD) $(LIBS)
-resolve$(EXEEXT): $(resolve_OBJECTS) $(resolve_DEPENDENCIES) $(EXTRA_resolve_DEPENDENCIES)
- @rm -f resolve$(EXEEXT)
- $(LINK) $(resolve_OBJECTS) $(resolve_LDADD) $(LIBS)
-rtsp$(EXEEXT): $(rtsp_OBJECTS) $(rtsp_DEPENDENCIES) $(EXTRA_rtsp_DEPENDENCIES)
- @rm -f rtsp$(EXEEXT)
- $(LINK) $(rtsp_OBJECTS) $(rtsp_LDADD) $(LIBS)
-sendrecv$(EXEEXT): $(sendrecv_OBJECTS) $(sendrecv_DEPENDENCIES) $(EXTRA_sendrecv_DEPENDENCIES)
- @rm -f sendrecv$(EXEEXT)
- $(LINK) $(sendrecv_OBJECTS) $(sendrecv_LDADD) $(LIBS)
-sepheaders$(EXEEXT): $(sepheaders_OBJECTS) $(sepheaders_DEPENDENCIES) $(EXTRA_sepheaders_DEPENDENCIES)
- @rm -f sepheaders$(EXEEXT)
- $(LINK) $(sepheaders_OBJECTS) $(sepheaders_LDADD) $(LIBS)
-sftpget$(EXEEXT): $(sftpget_OBJECTS) $(sftpget_DEPENDENCIES) $(EXTRA_sftpget_DEPENDENCIES)
- @rm -f sftpget$(EXEEXT)
- $(LINK) $(sftpget_OBJECTS) $(sftpget_LDADD) $(LIBS)
-simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES) $(EXTRA_simple_DEPENDENCIES)
- @rm -f simple$(EXEEXT)
- $(LINK) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
-simplepost$(EXEEXT): $(simplepost_OBJECTS) $(simplepost_DEPENDENCIES) $(EXTRA_simplepost_DEPENDENCIES)
- @rm -f simplepost$(EXEEXT)
- $(LINK) $(simplepost_OBJECTS) $(simplepost_LDADD) $(LIBS)
-simplesmtp$(EXEEXT): $(simplesmtp_OBJECTS) $(simplesmtp_DEPENDENCIES) $(EXTRA_simplesmtp_DEPENDENCIES)
- @rm -f simplesmtp$(EXEEXT)
- $(LINK) $(simplesmtp_OBJECTS) $(simplesmtp_LDADD) $(LIBS)
-simplessl$(EXEEXT): $(simplessl_OBJECTS) $(simplessl_DEPENDENCIES) $(EXTRA_simplessl_DEPENDENCIES)
- @rm -f simplessl$(EXEEXT)
- $(LINK) $(simplessl_OBJECTS) $(simplessl_LDADD) $(LIBS)
-smtp-multi$(EXEEXT): $(smtp_multi_OBJECTS) $(smtp_multi_DEPENDENCIES) $(EXTRA_smtp_multi_DEPENDENCIES)
- @rm -f smtp-multi$(EXEEXT)
- $(LINK) $(smtp_multi_OBJECTS) $(smtp_multi_LDADD) $(LIBS)
-smtp-tls$(EXEEXT): $(smtp_tls_OBJECTS) $(smtp_tls_DEPENDENCIES) $(EXTRA_smtp_tls_DEPENDENCIES)
- @rm -f smtp-tls$(EXEEXT)
- $(LINK) $(smtp_tls_OBJECTS) $(smtp_tls_LDADD) $(LIBS)
-url2file$(EXEEXT): $(url2file_OBJECTS) $(url2file_DEPENDENCIES) $(EXTRA_url2file_DEPENDENCIES)
- @rm -f url2file$(EXEEXT)
- $(LINK) $(url2file_OBJECTS) $(url2file_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/10-at-a-time.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anyauthput.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/certinfo.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkspeed.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cookie_interface.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/externalsocket.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileupload.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fopen.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftp-wildcard.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpget.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpgetinfo.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpgetresp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpsget.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpupload.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getinfo.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getinmemory.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http-post.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpcustomheader.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpput.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/https.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-app.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-debugcallback.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-double.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-post.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-single.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/persistant.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3s.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3slist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/post-callback.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postit2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progressfunc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resolve.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtsp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendrecv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sepheaders.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sftpget.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplepost.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplesmtp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplessl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-multi.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-tls.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url2file.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
-
-all: $(check_PROGRAMS)
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/plugins/FTPFileYM/curl/docs/examples/Makefile.inc b/plugins/FTPFileYM/curl/docs/examples/Makefile.inc
deleted file mode 100644
index 9aabfcabdc..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/Makefile.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# These are all libcurl example programs to be test compiled
-check_PROGRAMS = 10-at-a-time anyauthput cookie_interface debug fileupload \
- fopen ftpget ftpgetresp ftpupload getinfo getinmemory http-post httpput \
- https multi-app multi-debugcallback multi-double multi-post multi-single \
- persistant post-callback postit2 sepheaders simple simplepost simplessl \
- sendrecv httpcustomheader certinfo chkspeed ftpgetinfo ftp-wildcard \
- smtp-multi simplesmtp smtp-tls rtsp externalsocket resolve \
- progressfunc pop3s pop3slist imap url2file sftpget ftpsget
-
-# These examples require external dependencies that may not be commonly
-# available on POSIX systems, so don't bother attempting to compile them here.
-COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \
- ftpuploadresume.c ghiper.c hiperfifo.c htmltidy.c multithread.c \
- opensslthreadlock.c sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \
- smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp
diff --git a/plugins/FTPFileYM/curl/docs/examples/Makefile.m32 b/plugins/FTPFileYM/curl/docs/examples/Makefile.m32
deleted file mode 100644
index 4e93093d60..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/Makefile.m32
+++ /dev/null
@@ -1,282 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-###########################################################################
-#
-## Makefile for building curl examples with MingW (GCC-3.2 or later)
-## and optionally OpenSSL (0.9.8), libssh2 (1.3), zlib (1.2.5), librtmp (2.3)
-##
-## Usage: mingw32-make -f Makefile.m32 CFG=-feature1[-feature2][-feature3][...]
-## Example: mingw32-make -f Makefile.m32 CFG=-zlib-ssl-spi-winidn
-##
-## Hint: you can also set environment vars to control the build, f.e.:
-## set ZLIB_PATH=c:/zlib-1.2.7
-## set ZLIB=1
-#
-###########################################################################
-
-# Edit the path below to point to the base of your Zlib sources.
-ifndef ZLIB_PATH
-ZLIB_PATH = ../../../zlib-1.2.7
-endif
-# Edit the path below to point to the base of your OpenSSL package.
-ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../../openssl-0.9.8x
-endif
-# Edit the path below to point to the base of your LibSSH2 package.
-ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../../libssh2-1.4.3
-endif
-# Edit the path below to point to the base of your librtmp package.
-ifndef LIBRTMP_PATH
-LIBRTMP_PATH = ../../../librtmp-2.3
-endif
-# Edit the path below to point to the base of your libidn package.
-ifndef LIBIDN_PATH
-LIBIDN_PATH = ../../../libidn-1.18
-endif
-# Edit the path below to point to the base of your MS IDN package.
-# Microsoft Internationalized Domain Names (IDN) Mitigation APIs 1.1
-# http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ad6158d7-ddba-416a-9109-07607425a815
-ifndef WINIDN_PATH
-WINIDN_PATH = ../../../Microsoft IDN Mitigation APIs
-endif
-# Edit the path below to point to the base of your Novell LDAP NDK.
-ifndef LDAP_SDK
-LDAP_SDK = c:/novell/ndk/cldapsdk/win32
-endif
-
-PROOT = ../..
-
-# Edit the path below to point to the base of your c-ares package.
-ifndef LIBCARES_PATH
-LIBCARES_PATH = $(PROOT)/ares
-endif
-
-# Edit the var below to set to your architecture or set environment var.
-ifndef ARCH
-ARCH = w32
-endif
-
-CC = $(CROSSPREFIX)gcc
-CFLAGS = -g -O2 -Wall
-CFLAGS += -fno-strict-aliasing
-ifeq ($(ARCH),w64)
-CFLAGS += -D_AMD64_
-endif
-# comment LDFLAGS below to keep debug info
-LDFLAGS = -s
-RC = $(CROSSPREFIX)windres
-RCFLAGS = --include-dir=$(PROOT)/include -O COFF -i
-
-# Platform-dependent helper tool macros
-ifeq ($(findstring /sh,$(SHELL)),/sh)
-DEL = rm -f $1
-RMDIR = rm -fr $1
-MKDIR = mkdir -p $1
-COPY = -cp -afv $1 $2
-#COPYR = -cp -afr $1/* $2
-COPYR = -rsync -aC $1/* $2
-TOUCH = touch $1
-CAT = cat
-ECHONL = echo ""
-DL = '
-else
-ifeq "$(OS)" "Windows_NT"
-DEL = -del 2>NUL /q /f $(subst /,\,$1)
-RMDIR = -rd 2>NUL /q /s $(subst /,\,$1)
-else
-DEL = -del 2>NUL $(subst /,\,$1)
-RMDIR = -deltree 2>NUL /y $(subst /,\,$1)
-endif
-MKDIR = -md 2>NUL $(subst /,\,$1)
-COPY = -copy 2>NUL /y $(subst /,\,$1) $(subst /,\,$2)
-COPYR = -xcopy 2>NUL /q /y /e $(subst /,\,$1) $(subst /,\,$2)
-TOUCH = copy 2>&1>NUL /b $(subst /,\,$1) +,,
-CAT = type
-ECHONL = $(ComSpec) /c echo.
-endif
-
-########################################################
-## Nothing more to do below this line!
-
-ifeq ($(findstring -dyn,$(CFG)),-dyn)
-DYN = 1
-endif
-ifeq ($(findstring -ares,$(CFG)),-ares)
-ARES = 1
-endif
-ifeq ($(findstring -rtmp,$(CFG)),-rtmp)
-RTMP = 1
-SSL = 1
-ZLIB = 1
-endif
-ifeq ($(findstring -ssh2,$(CFG)),-ssh2)
-SSH2 = 1
-SSL = 1
-ZLIB = 1
-endif
-ifeq ($(findstring -ssl,$(CFG)),-ssl)
-SSL = 1
-endif
-ifeq ($(findstring -zlib,$(CFG)),-zlib)
-ZLIB = 1
-endif
-ifeq ($(findstring -idn,$(CFG)),-idn)
-IDN = 1
-endif
-ifeq ($(findstring -winidn,$(CFG)),-winidn)
-WINIDN = 1
-endif
-ifeq ($(findstring -sspi,$(CFG)),-sspi)
-SSPI = 1
-endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-SPNEGO = 1
-endif
-ifeq ($(findstring -ldaps,$(CFG)),-ldaps)
-LDAPS = 1
-endif
-ifeq ($(findstring -ipv6,$(CFG)),-ipv6)
-IPV6 = 1
-endif
-ifeq ($(findstring -metalink,$(CFG)),-metalink)
-METALINK = 1
-endif
-ifeq ($(findstring -winssl,$(CFG)),-winssl)
-SCHANNEL = 1
-SSPI = 1
-endif
-
-INCLUDES = -I. -I$(PROOT) -I$(PROOT)/include -I$(PROOT)/lib
-
-ifdef DYN
- curl_DEPENDENCIES = $(PROOT)/lib/libcurldll.a $(PROOT)/lib/libcurl.dll
- curl_LDADD = -L$(PROOT)/lib -lcurldll
-else
- curl_DEPENDENCIES = $(PROOT)/lib/libcurl.a
- curl_LDADD = -L$(PROOT)/lib -lcurl
- CFLAGS += -DCURL_STATICLIB
- LDFLAGS += -static
-endif
-ifdef ARES
- ifndef DYN
- curl_DEPENDENCIES += $(LIBCARES_PATH)/libcares.a
- endif
- CFLAGS += -DUSE_ARES
- curl_LDADD += -L"$(LIBCARES_PATH)" -lcares
-endif
-ifdef RTMP
- CFLAGS += -DUSE_LIBRTMP
- curl_LDADD += -L"$(LIBRTMP_PATH)/librtmp" -lrtmp -lwinmm
-endif
-ifdef SSH2
- CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H
- curl_LDADD += -L"$(LIBSSH2_PATH)/win32" -lssh2
-endif
-ifdef SSL
- ifndef OPENSSL_LIBPATH
- OPENSSL_LIBS = -lssl -lcrypto
- ifeq "$(wildcard $(OPENSSL_PATH)/out)" "$(OPENSSL_PATH)/out"
- OPENSSL_LIBPATH = $(OPENSSL_PATH)/out
- ifdef DYN
- OPENSSL_LIBS = -lssl32 -leay32
- endif
- endif
- ifeq "$(wildcard $(OPENSSL_PATH)/lib)" "$(OPENSSL_PATH)/lib"
- OPENSSL_LIBPATH = $(OPENSSL_PATH)/lib
- endif
- endif
- ifndef DYN
- OPENSSL_LIBS += -lgdi32 -lcrypt32
- endif
- CFLAGS += -DUSE_SSLEAY
- curl_LDADD += -L"$(OPENSSL_LIBPATH)" $(OPENSSL_LIBS)
-endif
-ifdef ZLIB
- INCLUDES += -I"$(ZLIB_PATH)"
- CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H
- curl_LDADD += -L"$(ZLIB_PATH)" -lz
-endif
-ifdef IDN
- CFLAGS += -DUSE_LIBIDN
- curl_LDADD += -L"$(LIBIDN_PATH)/lib" -lidn
-else
-ifdef WINIDN
- CFLAGS += -DUSE_WIN32_IDN
- curl_LDADD += -L"$(WINIDN_PATH)" -lnormaliz
-endif
-endif
-ifdef SSPI
- CFLAGS += -DUSE_WINDOWS_SSPI
- ifdef SCHANNEL
- CFLAGS += -DUSE_SCHANNEL
- endif
-endif
-ifdef SPNEGO
- CFLAGS += -DHAVE_SPNEGO
-endif
-ifdef IPV6
- CFLAGS += -DENABLE_IPV6 -D_WIN32_WINNT=0x0501
-endif
-ifdef LDAPS
- CFLAGS += -DHAVE_LDAP_SSL
-endif
-ifdef USE_LDAP_NOVELL
- CFLAGS += -DCURL_HAS_NOVELL_LDAPSDK
- curl_LDADD += -L"$(LDAP_SDK)/lib/mscvc" -lldapsdk -lldapssl -lldapx
-endif
-ifdef USE_LDAP_OPENLDAP
- CFLAGS += -DCURL_HAS_OPENLDAP_LDAPSDK
- curl_LDADD += -L"$(LDAP_SDK)/lib" -lldap -llber
-endif
-ifndef USE_LDAP_NOVELL
-ifndef USE_LDAP_OPENLDAP
- curl_LDADD += -lwldap32
-endif
-endif
-curl_LDADD += -lws2_32
-
-# Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
-include Makefile.inc
-
-check_PROGRAMS := $(patsubst %,%.exe,$(strip $(check_PROGRAMS)))
-check_PROGRAMS += ftpuploadresume.exe synctime.exe
-
-.PRECIOUS: %.o
-
-
-all: $(check_PROGRAMS)
-
-%.exe: %.o $(curl_DEPENDENCIES)
- $(CC) $(LDFLAGS) -o $@ $< $(curl_LDADD)
-
-%.o: %.c
- $(CC) $(INCLUDES) $(CFLAGS) -c $<
-
-%.res: %.rc
- $(RC) $(RCFLAGS) $< -o $@
-
-clean:
- @$(call DEL, $(check_PROGRAMS:.exe=.o))
-
-distclean vclean: clean
- @$(call DEL, $(check_PROGRAMS))
-
diff --git a/plugins/FTPFileYM/curl/docs/examples/Makefile.netware b/plugins/FTPFileYM/curl/docs/examples/Makefile.netware
deleted file mode 100644
index e1a48b7d55..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/Makefile.netware
+++ /dev/null
@@ -1,441 +0,0 @@
-#################################################################
-#
-## Makefile for building curl.nlm (NetWare version - gnu make)
-## Use: make -f Makefile.netware
-##
-## Comments to: Guenter Knauf http://www.gknw.net/phpbb
-#
-#################################################################
-
-# Edit the path below to point to the base of your Novell NDK.
-ifndef NDKBASE
-NDKBASE = c:/novell
-endif
-
-# Edit the path below to point to the base of your Zlib sources.
-ifndef ZLIB_PATH
-ZLIB_PATH = ../../../zlib-1.2.7
-endif
-
-# Edit the path below to point to the base of your OpenSSL package.
-ifndef OPENSSL_PATH
-OPENSSL_PATH = ../../../openssl-0.9.8x
-endif
-
-# Edit the path below to point to the base of your LibSSH2 package.
-ifndef LIBSSH2_PATH
-LIBSSH2_PATH = ../../../libssh2-1.4.3
-endif
-
-# Edit the path below to point to the base of your axTLS package.
-ifndef AXTLS_PATH
-AXTLS_PATH = ../../../axTLS-1.2.7
-endif
-
-# Edit the path below to point to the base of your libidn package.
-ifndef LIBIDN_PATH
-LIBIDN_PATH = ../../../libidn-1.18
-endif
-
-# Edit the path below to point to the base of your librtmp package.
-ifndef LIBRTMP_PATH
-LIBRTMP_PATH = ../../../librtmp-2.3
-endif
-
-# Edit the path below to point to the base of your fbopenssl package.
-ifndef FBOPENSSL_PATH
-FBOPENSSL_PATH = ../../fbopenssl-0.4
-endif
-
-# Edit the path below to point to the base of your c-ares package.
-ifndef LIBCARES_PATH
-LIBCARES_PATH = ../../ares
-endif
-
-ifndef INSTDIR
-INSTDIR = ..$(DS)..$(DS)curl-$(LIBCURL_VERSION_STR)-bin-nw
-endif
-
-# Edit the vars below to change NLM target settings.
-TARGET = examples
-VERSION = $(LIBCURL_VERSION)
-COPYR = Copyright (C) $(LIBCURL_COPYRIGHT_STR)
-DESCR = cURL ($(LIBARCH))
-MTSAFE = YES
-STACK = 8192
-SCREEN = Example Program
-# Comment the line below if you dont want to load protected automatically.
-# LDRING = 3
-
-# Uncomment the next line to enable linking with POSIX semantics.
-# POSIXFL = 1
-
-# Edit the var below to point to your lib architecture.
-ifndef LIBARCH
-LIBARCH = LIBC
-endif
-
-# must be equal to NDEBUG or DEBUG, CURLDEBUG
-ifndef DB
-DB = NDEBUG
-endif
-# Optimization: -O<n> or debugging: -g
-ifeq ($(DB),NDEBUG)
- OPT = -O2
- OBJDIR = release
-else
- OPT = -g
- OBJDIR = debug
-endif
-
-# The following lines defines your compiler.
-ifdef CWFolder
- METROWERKS = $(CWFolder)
-endif
-ifdef METROWERKS
- # MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support
- MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support/Metrowerks Support
- CC = mwccnlm
-else
- CC = gcc
-endif
-PERL = perl
-# Here you can find a native Win32 binary of the original awk:
-# http://www.gknw.net/development/prgtools/awk-20100523.zip
-AWK = awk
-CP = cp -afv
-MKDIR = mkdir
-# RM = rm -f
-# If you want to mark the target as MTSAFE you will need a tool for
-# generating the xdc data for the linker; here's a minimal tool:
-# http://www.gknw.net/development/prgtools/mkxdc.zip
-MPKXDC = mkxdc
-
-# LIBARCH_U = $(shell $(AWK) 'BEGIN {print toupper(ARGV[1])}' $(LIBARCH))
-LIBARCH_L = $(shell $(AWK) 'BEGIN {print tolower(ARGV[1])}' $(LIBARCH))
-
-# Include the version info retrieved from curlver.h
--include $(OBJDIR)/version.inc
-
-# Global flags for all compilers
-CFLAGS += $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc
-
-ifeq ($(CC),mwccnlm)
-LD = mwldnlm
-LDFLAGS = -nostdlib $< $(PRELUDE) $(LDLIBS) -o $@ -commandfile
-LIBEXT = lib
-CFLAGS += -gccinc -inline off -opt nointrinsics -proc 586
-CFLAGS += -relax_pointers
-#CFLAGS += -w on
-ifeq ($(LIBARCH),LIBC)
-ifeq ($(POSIXFL),1)
- PRELUDE = $(NDK_LIBC)/imports/posixpre.o
-else
- PRELUDE = $(NDK_LIBC)/imports/libcpre.o
-endif
- CFLAGS += -align 4
-else
- # PRELUDE = $(NDK_CLIB)/imports/clibpre.o
- # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
- PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj"
- # CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h"
- CFLAGS += -align 1
-endif
-else
-LD = nlmconv
-LDFLAGS = -T
-LIBEXT = a
-CFLAGS += -m32
-CFLAGS += -fno-builtin -fno-strict-aliasing
-ifeq ($(findstring gcc,$(CC)),gcc)
-CFLAGS += -fpcc-struct-return
-endif
-CFLAGS += -Wall # -pedantic
-ifeq ($(LIBARCH),LIBC)
-ifeq ($(POSIXFL),1)
- PRELUDE = $(NDK_LIBC)/imports/posixpre.gcc.o
-else
- PRELUDE = $(NDK_LIBC)/imports/libcpre.gcc.o
-endif
-else
- # PRELUDE = $(NDK_CLIB)/imports/clibpre.gcc.o
- # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
- # http://www.gknw.net/development/mk_nlm/gcc_pre.zip
- PRELUDE = $(NDK_ROOT)/pre/prelude.o
- CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
-endif
-endif
-
-NDK_ROOT = $(NDKBASE)/ndk
-ifndef NDK_CLIB
-NDK_CLIB = $(NDK_ROOT)/nwsdk
-endif
-ifndef NDK_LIBC
-NDK_LIBC = $(NDK_ROOT)/libc
-endif
-ifndef NDK_LDAP
-NDK_LDAP = $(NDK_ROOT)/cldapsdk/netware
-endif
-CURL_INC = ../../include
-CURL_LIB = ../../lib
-
-INCLUDES = -I$(CURL_INC)
-
-ifeq ($(findstring -static,$(CFG)),-static)
-LINK_STATIC = 1
-endif
-ifeq ($(findstring -ares,$(CFG)),-ares)
-WITH_ARES = 1
-endif
-ifeq ($(findstring -rtmp,$(CFG)),-rtmp)
-WITH_RTMP = 1
-WITH_SSL = 1
-WITH_ZLIB = 1
-endif
-ifeq ($(findstring -ssh2,$(CFG)),-ssh2)
-WITH_SSH2 = 1
-WITH_SSL = 1
-WITH_ZLIB = 1
-endif
-ifeq ($(findstring -axtls,$(CFG)),-axtls)
-WITH_AXTLS = 1
-WITH_SSL =
-else
-ifeq ($(findstring -ssl,$(CFG)),-ssl)
-WITH_SSL = 1
-endif
-endif
-ifeq ($(findstring -zlib,$(CFG)),-zlib)
-WITH_ZLIB = 1
-endif
-ifeq ($(findstring -idn,$(CFG)),-idn)
-WITH_IDN = 1
-endif
-ifeq ($(findstring -spnego,$(CFG)),-spnego)
-WITH_SPNEGO = 1
-endif
-ifeq ($(findstring -ipv6,$(CFG)),-ipv6)
-ENABLE_IPV6 = 1
-endif
-
-ifdef LINK_STATIC
- LDLIBS = $(CURL_LIB)/libcurl.$(LIBEXT)
-ifdef WITH_ARES
- LDLIBS += $(LIBCARES_PATH)/libcares.$(LIBEXT)
-endif
-else
- MODULES = libcurl.nlm
- IMPORTS = @$(CURL_LIB)/libcurl.imp
-endif
-ifdef WITH_SSH2
- # INCLUDES += -I$(LIBSSH2_PATH)/include
-ifdef LINK_STATIC
- LDLIBS += $(LIBSSH2_PATH)/nw/libssh2.$(LIBEXT)
-else
- MODULES += libssh2.nlm
- IMPORTS += @$(LIBSSH2_PATH)/nw/libssh2.imp
-endif
-endif
-ifdef WITH_RTMP
- # INCLUDES += -I$(LIBRTMP_PATH)
-ifdef LINK_STATIC
- LDLIBS += $(LIBRTMP_PATH)/librtmp/librtmp.$(LIBEXT)
-endif
-endif
-ifdef WITH_SSL
- INCLUDES += -I$(OPENSSL_PATH)/outinc_nw_$(LIBARCH_L)
- LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/ssl.$(LIBEXT)
- LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/crypto.$(LIBEXT)
- IMPORTS += GetProcessSwitchCount RunningProcess
-ifdef WITH_SPNEGO
- # INCLUDES += -I$(FBOPENSSL_PATH)/include
- LDLIBS += $(FBOPENSSL_PATH)/nw/fbopenssl.$(LIBEXT)
-endif
-else
-ifdef WITH_AXTLS
- INCLUDES += -I$(AXTLS_PATH)/inc
-ifdef LINK_STATIC
- LDLIBS += $(AXTLS_PATH)/lib/libaxtls.$(LIBEXT)
-else
- MODULES += libaxtls.nlm
- IMPORTS += $(AXTLS_PATH)/lib/libaxtls.imp
-endif
-endif
-endif
-ifdef WITH_ZLIB
- # INCLUDES += -I$(ZLIB_PATH)
-ifdef LINK_STATIC
- LDLIBS += $(ZLIB_PATH)/nw/$(LIBARCH)/libz.$(LIBEXT)
-else
- MODULES += libz.nlm
- IMPORTS += @$(ZLIB_PATH)/nw/$(LIBARCH)/libz.imp
-endif
-endif
-ifdef WITH_IDN
- # INCLUDES += -I$(LIBIDN_PATH)/include
- LDLIBS += $(LIBIDN_PATH)/lib/libidn.$(LIBEXT)
-endif
-
-ifeq ($(LIBARCH),LIBC)
- INCLUDES += -I$(NDK_LIBC)/include
- # INCLUDES += -I$(NDK_LIBC)/include/nks
- # INCLUDES += -I$(NDK_LIBC)/include/winsock
- CFLAGS += -D_POSIX_SOURCE
-else
- INCLUDES += -I$(NDK_CLIB)/include/nlm
- # INCLUDES += -I$(NDK_CLIB)/include
-endif
-ifndef DISABLE_LDAP
- # INCLUDES += -I$(NDK_LDAP)/$(LIBARCH_L)/inc
-endif
-CFLAGS += $(INCLUDES)
-
-ifeq ($(MTSAFE),YES)
- XDCOPT = -n
-endif
-ifeq ($(MTSAFE),NO)
- XDCOPT = -u
-endif
-ifdef XDCOPT
- XDCDATA = $(OBJDIR)/$(TARGET).xdc
-endif
-
-ifeq ($(findstring /sh,$(SHELL)),/sh)
-DL = '
-DS = /
-PCT = %
-#-include $(NDKBASE)/nlmconv/ncpfs.inc
-else
-DS = \\
-PCT = %%
-endif
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-include Makefile.inc
-
-check_PROGRAMS := $(patsubst %,%.nlm,$(strip $(check_PROGRAMS)))
-
-.PRECIOUS: $(OBJDIR)/%.o $(OBJDIR)/%.def $(OBJDIR)/%.xdc
-
-
-all: prebuild $(check_PROGRAMS)
-
-prebuild: $(OBJDIR) $(OBJDIR)/version.inc
-
-$(OBJDIR)/%.o: %.c
- @echo Compiling $<
- $(CC) $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/version.inc: $(CURL_INC)/curl/curlver.h $(OBJDIR)
- @echo Creating $@
- @$(AWK) -f ../../packages/NetWare/get_ver.awk $< > $@
-
-install: $(INSTDIR) all
- @$(CP) $(check_PROGRAMS) $(INSTDIR)
-
-clean:
- -$(RM) -r $(OBJDIR)
-
-distclean vclean: clean
- -$(RM) $(check_PROGRAMS)
-
-$(OBJDIR) $(INSTDIR):
- @$(MKDIR) $@
-
-%.nlm: $(OBJDIR)/%.o $(OBJDIR)/%.def $(XDCDATA)
- @echo Linking $@
- @-$(RM) $@
- @$(LD) $(LDFLAGS) $(OBJDIR)/$(@:.nlm=.def)
-
-$(OBJDIR)/%.xdc: Makefile.netware
- @echo Creating $@
- @$(MPKXDC) $(XDCOPT) $@
-
-$(OBJDIR)/%.def: Makefile.netware
- @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@
- @echo $(DL)# Do not edit this file - it is created by Make!$(DL) >> $@
- @echo $(DL)# All your changes will be lost!!$(DL) >> $@
- @echo $(DL)#$(DL) >> $@
- @echo $(DL)copyright "$(COPYR)"$(DL) >> $@
- @echo $(DL)description "$(DESCR) $(notdir $(@:.def=)) Example"$(DL) >> $@
- @echo $(DL)version $(VERSION)$(DL) >> $@
-ifdef NLMTYPE
- @echo $(DL)type $(NLMTYPE)$(DL) >> $@
-endif
-ifdef STACK
- @echo $(DL)stack $(STACK)$(DL) >> $@
-endif
-ifdef SCREEN
- @echo $(DL)screenname "$(DESCR) $(notdir $(@:.def=)) $(SCREEN)"$(DL) >> $@
-else
- @echo $(DL)screenname "DEFAULT"$(DL) >> $@
-endif
-ifneq ($(DB),NDEBUG)
- @echo $(DL)debug$(DL) >> $@
-endif
- @echo $(DL)threadname "_$(notdir $(@:.def=))"$(DL) >> $@
-ifdef XDCDATA
- @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@
-endif
-ifeq ($(LDRING),0)
- @echo $(DL)flag_on 16$(DL) >> $@
-endif
-ifeq ($(LDRING),3)
- @echo $(DL)flag_on 512$(DL) >> $@
-endif
-ifeq ($(LIBARCH),CLIB)
- @echo $(DL)start _Prelude$(DL) >> $@
- @echo $(DL)exit _Stop$(DL) >> $@
- @echo $(DL)import @$(NDK_CLIB)/imports/clib.imp$(DL) >> $@
- @echo $(DL)import @$(NDK_CLIB)/imports/threads.imp$(DL) >> $@
- @echo $(DL)import @$(NDK_CLIB)/imports/nlmlib.imp$(DL) >> $@
- @echo $(DL)import @$(NDK_CLIB)/imports/socklib.imp$(DL) >> $@
- @echo $(DL)module clib$(DL) >> $@
-ifndef DISABLE_LDAP
- @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@
- @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@
-# @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@
- @echo $(DL)module ldapsdk ldapssl$(DL) >> $@
-endif
-else
-ifeq ($(POSIXFL),1)
- @echo $(DL)flag_on 4194304$(DL) >> $@
-endif
- @echo $(DL)flag_on 64$(DL) >> $@
- @echo $(DL)pseudopreemption$(DL) >> $@
-ifeq ($(findstring posixpre,$(PRELUDE)),posixpre)
- @echo $(DL)start POSIX_Start$(DL) >> $@
- @echo $(DL)exit POSIX_Stop$(DL) >> $@
- @echo $(DL)check POSIX_CheckUnload$(DL) >> $@
-else
- @echo $(DL)start _LibCPrelude$(DL) >> $@
- @echo $(DL)exit _LibCPostlude$(DL) >> $@
- @echo $(DL)check _LibCCheckUnload$(DL) >> $@
-endif
- @echo $(DL)import @$(NDK_LIBC)/imports/libc.imp$(DL) >> $@
- @echo $(DL)import @$(NDK_LIBC)/imports/netware.imp$(DL) >> $@
- @echo $(DL)module libc$(DL) >> $@
-ifndef DISABLE_LDAP
- @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@
- @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@
-# @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@
- @echo $(DL)module lldapsdk lldapssl$(DL) >> $@
-endif
-endif
-ifdef MODULES
- @echo $(DL)module $(MODULES)$(DL) >> $@
-endif
-ifdef EXPORTS
- @echo $(DL)export $(EXPORTS)$(DL) >> $@
-endif
-ifdef IMPORTS
- @echo $(DL)import $(IMPORTS)$(DL) >> $@
-endif
-ifeq ($(findstring nlmconv,$(LD)),nlmconv)
- @echo $(DL)input $(PRELUDE)$(DL) >> $@
- @echo $(DL)input $(@:.def=.o)$(DL) >> $@
-ifdef LDLIBS
- @echo $(DL)input $(LDLIBS)$(DL) >> $@
-endif
- @echo $(DL)output $(notdir $(@:.def=.nlm))$(DL) >> $@
-endif
diff --git a/plugins/FTPFileYM/curl/docs/examples/README b/plugins/FTPFileYM/curl/docs/examples/README
deleted file mode 100644
index 270048a6c5..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/README
+++ /dev/null
@@ -1,80 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-This directory is for libcurl programming examples. They are meant to show
-some simple steps on how you can build your own application to take full
-advantage of libcurl.
-
-If you end up with other small but still useful example sources, please mail
-them for submission in future packages and on the web site.
-
-BUILDING
-
-The Makefile.example is an example makefile that could be used to build these
-examples. Just edit the file according to your system and requirements first.
-
-Most examples should build fine using a command line like this:
-
- $ `curl-config --cc --cflags --libs` -o example example.c
-
-Some compilers don't like having the arguments in this order but instead
-want you do reorganize them like:
-
- $ `curl-config --cc` -o example example.c `curl-config --cflags --libs`
-
-*PLEASE* do not use the curl.haxx.se site as a test target for your libcurl
-applications/experiments. Even if some of the examples use that site as a URL
-at some places, it doesn't mean that the URLs work or that we expect you to
-actually torture our web site with your tests! Thanks.
-
-EXAMPLES
-
-anyauthput.c - HTTP PUT using "any" authentication method
-cacertinmem.c - Use a built-in PEM certificate to retrieve a https page
-cookie_interface.c - shows usage of simple cookie interface
-curlgtk.c - download using a GTK progress bar
-curlx.c - getting file info from the remote cert data
-debug.c - showing how to use the debug callback
-fileupload.c - uploading to a file:// URL
-fopen.c - fopen() layer that supports opening URLs and files
-ftpget.c - simple getting a file from FTP
-ftpgetresp.c - get the response strings from the FTP server
-ftpupload.c - upload a file to an FTP server
-ftpuploadresume.c - resume an upload to an FTP server
-getinfo.c - get the Content-Type from the recent transfer
-getinmemory.c - download a file to memory only
-ghiper.c - curl_multi_socket() using code with glib-2
-hiperfifo.c - downloads all URLs written to the fifo, using
- curl_multi_socket() and libevent
-htmltidy.c - download a document and use libtidy to parse the HTML
-htmltitle.cc - download a HTML file and extract the <title> tag from a HTML
- page using libxml
-http-post.c - HTTP POST
-httpput.c - HTTP PUT a local file
-https.c - simple HTTPS transfer
-imap.c - simple IMAP transfer
-multi-app.c - a multi-interface app
-multi-debugcallback.c - a multi-interface app using the debug callback
-multi-double.c - a multi-interface app doing two simultaneous transfers
-multi-post.c - a multi-interface app doing a multipart formpost
-multi-single.c - a multi-interface app getting a single file
-multithread.c - an example using multi-treading transferring multiple files
-opensslthreadlock.c - show how to do locking when using OpenSSL multi-threaded
-persistant.c - request two URLs with a persistent connection
-pop3s.c - POP3S transfer
-pop3slist.c - POP3S LIST
-post-callback.c - send a HTTP POST using a callback
-postit2.c - send a HTTP multipart formpost
-sampleconv.c - showing how a program on a non-ASCII platform would invoke
- callbacks to do its own codeset conversions instead of using
- the built-in iconv functions in libcurl
-sepheaders.c - download headers to a separate file
-simple.c - the most simple download a URL source
-simplepost.c - HTTP POST
-simplessl.c - HTTPS example with certificates many options set
-synctime.c - Sync local time by extracting date from remote HTTP servers
-url2file.c - download a document and store it in a file
-10-at-a-time.c - Download many files simultaneously, 10 at a time.
diff --git a/plugins/FTPFileYM/curl/docs/examples/anyauthput.c b/plugins/FTPFileYM/curl/docs/examples/anyauthput.c
deleted file mode 100644
index b89dca2e15..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/anyauthput.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <fcntl.h>
-#ifdef WIN32
-# include <io.h>
-#else
-# ifdef __VMS
- typedef int intptr_t;
-# endif
-# if !defined(_AIX) && !defined(__sgi) && !defined(__osf__)
-# include <stdint.h>
-# endif
-# include <unistd.h>
-#endif
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#ifdef _MSC_VER
-# ifdef _WIN64
- typedef __int64 intptr_t;
-# else
- typedef int intptr_t;
-# endif
-#endif
-
-#include <curl/curl.h>
-
-#if LIBCURL_VERSION_NUM < 0x070c03
-#error "upgrade your libcurl to no less than 7.12.3"
-#endif
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#if defined(_AIX) || defined(__sgi) || defined(__osf__)
-#ifndef intptr_t
-#define intptr_t long
-#endif
-#endif
-
-/*
- * This example shows a HTTP PUT operation with authentiction using "any"
- * type. It PUTs a file given as a command line argument to the URL also given
- * on the command line.
- *
- * Since libcurl 7.12.3, using "any" auth and POST/PUT requires a set ioctl
- * function.
- *
- * This example also uses its own read callback.
- */
-
-/* ioctl callback function */
-static curlioerr my_ioctl(CURL *handle, curliocmd cmd, void *userp)
-{
- intptr_t fd = (intptr_t)userp;
-
- (void)handle; /* not used in here */
-
- switch(cmd) {
- case CURLIOCMD_RESTARTREAD:
- /* mr libcurl kindly asks as to rewind the read data stream to start */
- if(-1 == lseek(fd, 0, SEEK_SET))
- /* couldn't rewind */
- return CURLIOE_FAILRESTART;
-
- break;
-
- default: /* ignore unknown commands */
- return CURLIOE_UNKNOWNCMD;
- }
- return CURLIOE_OK; /* success! */
-}
-
-/* read callback function, fread() look alike */
-static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- size_t retcode;
- curl_off_t nread;
-
- intptr_t fd = (intptr_t)stream;
-
- retcode = read(fd, ptr, size * nmemb);
-
- nread = (curl_off_t)retcode;
-
- fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T
- " bytes from file\n", nread);
-
- return retcode;
-}
-
-int main(int argc, char **argv)
-{
- CURL *curl;
- CURLcode res;
- intptr_t hd ;
- struct stat file_info;
-
- char *file;
- char *url;
-
- if(argc < 3)
- return 1;
-
- file= argv[1];
- url = argv[2];
-
- /* get the file size of the local file */
- hd = open(file, O_RDONLY) ;
- fstat(hd, &file_info);
-
- /* In windows, this will init the winsock stuff */
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* get a curl handle */
- curl = curl_easy_init();
- if(curl) {
- /* we want to use our own read function */
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
-
- /* which file to upload */
- curl_easy_setopt(curl, CURLOPT_READDATA, (void*)hd);
-
- /* set the ioctl function */
- curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, my_ioctl);
-
- /* pass the file descriptor to the ioctl callback as well */
- curl_easy_setopt(curl, CURLOPT_IOCTLDATA, (void*)hd);
-
- /* enable "uploading" (which means PUT when doing HTTP) */
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L) ;
-
- /* specify target URL, and note that this URL should also include a file
- name, not only a directory (as you can do with GTP uploads) */
- curl_easy_setopt(curl,CURLOPT_URL, url);
-
- /* and give the size of the upload, this supports large file sizes
- on systems that have general support for it */
- curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE,
- (curl_off_t)file_info.st_size);
-
- /* tell libcurl we can use "any" auth, which lets the lib pick one, but it
- also costs one extra round-trip and possibly sending of all the PUT
- data twice!!! */
- curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_ANY);
-
- /* set user name and password for the authentication */
- curl_easy_setopt(curl, CURLOPT_USERPWD, "user:password");
-
- /* Now run off and do what you've been told! */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- close(hd); /* close the local file */
-
- curl_global_cleanup();
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/asiohiper.cpp b/plugins/FTPFileYM/curl/docs/examples/asiohiper.cpp
deleted file mode 100644
index 44836fdc17..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/asiohiper.cpp
+++ /dev/null
@@ -1,454 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-
-/*
- * file: asiohiper.cpp
- * Example program to demonstrate the use of multi socket interface
- * with boost::asio
- *
- * This program is in c++ and uses boost::asio instead of libevent/libev.
- * Requires boost::asio, boost::bind and boost::system
- *
- * This is an adaptation of libcurl's "hiperfifo.c" and "evhiperfifo.c"
- * sample programs. This example implements a subset of the functionality from
- * hiperfifo.c, for full functionality refer hiperfifo.c or evhiperfifo.c
- *
- * Written by Lijo Antony based on hiperfifo.c by Jeff Pohlmeyer
- *
- * When running, the program creates an easy handle for a URL and
- * uses the curl_multi API to fetch it.
- *
- * Note:
- * For the sake of simplicity, URL is hard coded to "www.google.com"
- *
- * This is purely a demo app, all retrieved data is simply discarded by the write
- * callback.
- */
-
-
-#include <curl/curl.h>
-#include <boost/asio.hpp>
-#include <boost/bind.hpp>
-
-#define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */
-
-/* boost::asio related objects
- * using global variables for simplicity
- */
-boost::asio::io_service io_service;
-boost::asio::deadline_timer timer(io_service);
-std::map<curl_socket_t, boost::asio::ip::tcp::socket *> socket_map;
-
-/* Global information, common to all connections */
-typedef struct _GlobalInfo
-{
- CURLM *multi;
- int still_running;
-} GlobalInfo;
-
-/* Information associated with a specific easy handle */
-typedef struct _ConnInfo
-{
- CURL *easy;
- char *url;
- GlobalInfo *global;
- char error[CURL_ERROR_SIZE];
-} ConnInfo;
-
-static void timer_cb(const boost::system::error_code & error, GlobalInfo *g);
-
-/* Update the event timer after curl_multi library calls */
-static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
-{
- fprintf(MSG_OUT, "\nmulti_timer_cb: timeout_ms %ld", timeout_ms);
-
- /* cancel running timer */
- timer.cancel();
-
- if ( timeout_ms > 0 )
- {
- /* update timer */
- timer.expires_from_now(boost::posix_time::millisec(timeout_ms));
- timer.async_wait(boost::bind(&timer_cb, _1, g));
- }
- else
- {
- /* call timeout function immediately */
- boost::system::error_code error; /*success*/
- timer_cb(error, g);
- }
-
- return 0;
-}
-
-/* Die if we get a bad CURLMcode somewhere */
-static void mcode_or_die(const char *where, CURLMcode code)
-{
- if ( CURLM_OK != code )
- {
- const char *s;
- switch ( code )
- {
- case CURLM_CALL_MULTI_PERFORM: s="CURLM_CALL_MULTI_PERFORM"; break;
- case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break;
- case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break;
- case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break;
- case CURLM_INTERNAL_ERROR: s="CURLM_INTERNAL_ERROR"; break;
- case CURLM_UNKNOWN_OPTION: s="CURLM_UNKNOWN_OPTION"; break;
- case CURLM_LAST: s="CURLM_LAST"; break;
- default: s="CURLM_unknown";
- break;
- case CURLM_BAD_SOCKET: s="CURLM_BAD_SOCKET";
- fprintf(MSG_OUT, "\nERROR: %s returns %s", where, s);
- /* ignore this error */
- return;
- }
- fprintf(MSG_OUT, "\nERROR: %s returns %s", where, s);
- exit(code);
- }
-}
-
-/* Check for completed transfers, and remove their easy handles */
-static void check_multi_info(GlobalInfo *g)
-{
- char *eff_url;
- CURLMsg *msg;
- int msgs_left;
- ConnInfo *conn;
- CURL *easy;
- CURLcode res;
-
- fprintf(MSG_OUT, "\nREMAINING: %d", g->still_running);
-
- while ((msg = curl_multi_info_read(g->multi, &msgs_left)))
- {
- if (msg->msg == CURLMSG_DONE)
- {
- easy = msg->easy_handle;
- res = msg->data.result;
- curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn);
- curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url);
- fprintf(MSG_OUT, "\nDONE: %s => (%d) %s", eff_url, res, conn->error);
- curl_multi_remove_handle(g->multi, easy);
- free(conn->url);
- curl_easy_cleanup(easy);
- free(conn);
- }
- }
-}
-
-/* Called by asio when there is an action on a socket */
-static void event_cb(GlobalInfo * g, boost::asio::ip::tcp::socket * tcp_socket, int action)
-{
- fprintf(MSG_OUT, "\nevent_cb: action=%d", action);
-
- CURLMcode rc;
- rc = curl_multi_socket_action(g->multi, tcp_socket->native_handle(), action, &g->still_running);
-
- mcode_or_die("event_cb: curl_multi_socket_action", rc);
- check_multi_info(g);
-
- if ( g->still_running <= 0 )
- {
- fprintf(MSG_OUT, "\nlast transfer done, kill timeout");
- timer.cancel();
- }
-}
-
-/* Called by asio when our timeout expires */
-static void timer_cb(const boost::system::error_code & error, GlobalInfo *g)
-{
- if ( !error)
- {
- fprintf(MSG_OUT, "\ntimer_cb: ");
-
- CURLMcode rc;
- rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, &g->still_running);
-
- mcode_or_die("timer_cb: curl_multi_socket_action", rc);
- check_multi_info(g);
- }
-}
-
-/* Clean up any data */
-static void remsock(int *f, GlobalInfo *g)
-{
- fprintf(MSG_OUT, "\nremsock: ");
-
- if ( f )
- {
- free(f);
- }
-}
-
-static void setsock(int *fdp, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
-{
- fprintf(MSG_OUT, "\nsetsock: socket=%d, act=%d, fdp=%p", s, act, fdp);
-
- std::map<curl_socket_t, boost::asio::ip::tcp::socket *>::iterator it = socket_map.find(s);
-
- if ( it == socket_map.end() )
- {
- fprintf(MSG_OUT, "\nsocket %d is a c-ares socket, ignoring", s);
- return;
- }
-
- boost::asio::ip::tcp::socket * tcp_socket = it->second;
-
- *fdp = act;
-
- if ( act == CURL_POLL_IN )
- {
- fprintf(MSG_OUT, "\nwatching for socket to become readable");
-
- tcp_socket->async_read_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g,
- tcp_socket,
- act));
- }
- else if ( act == CURL_POLL_OUT )
- {
- fprintf(MSG_OUT, "\nwatching for socket to become writable");
-
- tcp_socket->async_write_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g,
- tcp_socket,
- act));
- }
- else if ( act == CURL_POLL_INOUT )
- {
- fprintf(MSG_OUT, "\nwatching for socket to become readable & writable");
-
- tcp_socket->async_read_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g,
- tcp_socket,
- act));
-
- tcp_socket->async_write_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g,
- tcp_socket,
- act));
- }
-}
-
-
-static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g)
-{
- int *fdp = (int *)calloc(sizeof(int), 1); /* fdp is used to store current action */
-
- setsock(fdp, s, easy, action, g);
- curl_multi_assign(g->multi, s, fdp);
-}
-
-/* CURLMOPT_SOCKETFUNCTION */
-static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
-{
- fprintf(MSG_OUT, "\nsock_cb: socket=%d, what=%d, sockp=%p", s, what, sockp);
-
- GlobalInfo *g = (GlobalInfo*) cbp;
- int *actionp = (int*) sockp;
- const char *whatstr[]={ "none", "IN", "OUT", "INOUT", "REMOVE"};
-
- fprintf(MSG_OUT,
- "\nsocket callback: s=%d e=%p what=%s ", s, e, whatstr[what]);
-
- if ( what == CURL_POLL_REMOVE )
- {
- fprintf(MSG_OUT, "\n");
- remsock(actionp, g);
- }
- else
- {
- if ( !actionp )
- {
- fprintf(MSG_OUT, "\nAdding data: %s", whatstr[what]);
- addsock(s, e, what, g);
- }
- else
- {
- fprintf(MSG_OUT,
- "\nChanging action from %s to %s",
- whatstr[*actionp], whatstr[what]);
- setsock(actionp, s, e, what, g);
- }
- }
- return 0;
-}
-
-
-/* CURLOPT_WRITEFUNCTION */
-static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
-{
-
- size_t written = size * nmemb;
- char* pBuffer = (char*)malloc(written + 1);
-
- strncpy(pBuffer, (const char *)ptr, written);
- pBuffer [written] = '\0';
-
- fprintf(MSG_OUT, "%s", pBuffer);
-
- free(pBuffer);
-
- return written;
-}
-
-
-/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb (void *p, double dltotal, double dlnow, double ult,
- double uln)
-{
- ConnInfo *conn = (ConnInfo *)p;
- (void)ult;
- (void)uln;
-
- fprintf(MSG_OUT, "\nProgress: %s (%g/%g)", conn->url, dlnow, dltotal);
- fprintf(MSG_OUT, "\nProgress: %s (%g)", conn->url, ult);
-
- return 0;
-}
-
-/* CURLOPT_OPENSOCKETFUNCTION */
-static curl_socket_t opensocket(void *clientp,
- curlsocktype purpose,
- struct curl_sockaddr *address)
-{
- fprintf(MSG_OUT, "\nopensocket :");
-
- curl_socket_t sockfd = CURL_SOCKET_BAD;
-
- /* restrict to ipv4 */
- if (purpose == CURLSOCKTYPE_IPCXN && address->family == AF_INET)
- {
- /* create a tcp socket object */
- boost::asio::ip::tcp::socket *tcp_socket = new boost::asio::ip::tcp::socket(io_service);
-
- /* open it and get the native handle*/
- boost::system::error_code ec;
- tcp_socket->open(boost::asio::ip::tcp::v4(), ec);
-
- if (ec)
- {
- //An error occurred
- std::cout << std::endl << "Couldn't open socket [" << ec << "][" << ec.message() << "]";
- fprintf(MSG_OUT, "\nERROR: Returning CURL_SOCKET_BAD to signal error");
- }
- else
- {
- sockfd = tcp_socket->native_handle();
- fprintf(MSG_OUT, "\nOpened socket %d", sockfd);
-
- /* save it for monitoring */
- socket_map.insert(std::pair<curl_socket_t, boost::asio::ip::tcp::socket *>(sockfd, tcp_socket));
- }
- }
-
- return sockfd;
-}
-
-/* CURLOPT_CLOSESOCKETFUNCTION */
-static int closesocket(void *clientp, curl_socket_t item)
-{
- fprintf(MSG_OUT, "\nclosesocket : %d", item);
-
- std::map<curl_socket_t, boost::asio::ip::tcp::socket *>::iterator it = socket_map.find(item);
-
- if ( it != socket_map.end() )
- {
- delete it->second;
- socket_map.erase(it);
- }
-
- return 0;
-}
-
-/* Create a new easy handle, and add it to the global curl_multi */
-static void new_conn(char *url, GlobalInfo *g )
-{
- ConnInfo *conn;
- CURLMcode rc;
-
- conn = (ConnInfo *)calloc(1, sizeof(ConnInfo));
- memset(conn, 0, sizeof(ConnInfo));
- conn->error[0]='\0';
-
- conn->easy = curl_easy_init();
-
- if ( !conn->easy )
- {
- fprintf(MSG_OUT, "\ncurl_easy_init() failed, exiting!");
- exit(2);
- }
- conn->global = g;
- conn->url = strdup(url);
- curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, &conn);
- curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error);
- curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn);
- curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, 1L);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn);
- curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_TIME, 3L);
- curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_LIMIT, 10L);
-
- /* call this function to get a socket */
- curl_easy_setopt(conn->easy, CURLOPT_OPENSOCKETFUNCTION, opensocket);
-
- /* call this function to close a socket */
- curl_easy_setopt(conn->easy, CURLOPT_CLOSESOCKETFUNCTION, closesocket);
-
- fprintf(MSG_OUT,
- "\nAdding easy %p to multi %p (%s)", conn->easy, g->multi, url);
- rc = curl_multi_add_handle(g->multi, conn->easy);
- mcode_or_die("new_conn: curl_multi_add_handle", rc);
-
- /* note that the add_handle() will set a time-out to trigger very soon so
- that the necessary socket_action() call will be called by this app */
-}
-
-int main(int argc, char **argv)
-{
- GlobalInfo g;
- CURLMcode rc;
- (void)argc;
- (void)argv;
-
- memset(&g, 0, sizeof(GlobalInfo));
- g.multi = curl_multi_init();
-
- curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb);
- curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g);
- curl_multi_setopt(g.multi, CURLMOPT_TIMERFUNCTION, multi_timer_cb);
- curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g);
-
- new_conn((char *)"www.google.com", &g); /* add a URL */
-
- /* enter io_service run loop */
- io_service.run();
-
- curl_multi_cleanup(g.multi);
-
- fprintf(MSG_OUT, "\ndone.\n");
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/cacertinmem.c b/plugins/FTPFileYM/curl/docs/examples/cacertinmem.c
deleted file mode 100644
index 051afbca9b..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/cacertinmem.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example using a "in core" PEM certificate to retrieve a https page.
- * Written by Theo Borm
- */
-
-/* on a netBSD system with OPENSSL& LIBCURL installed from
- * pkgsrc (using default paths) this program can be compiled using:
- * gcc -I/usr/pkg/include -L/usr/pkg/lib -lcurl -Wl,-R/usr/pkg/lib -lssl
- * -lcrypto -lz -o curlcacerttest curlcacerttest.c
- * on other operating systems you may want to change paths to headers
- * and libraries
-*/
-#include <openssl/ssl.h>
-#include <curl/curl.h>
-#include <stdio.h>
-
-size_t writefunction( void *ptr, size_t size, size_t nmemb, void *stream)
-{
- fwrite(ptr,size,nmemb,stream);
- return(nmemb*size);
-}
-
-static CURLcode sslctx_function(CURL * curl, void * sslctx, void * parm)
-{
- X509_STORE * store;
- X509 * cert=NULL;
- BIO * bio;
- char * mypem = /* www.cacert.org */
- "-----BEGIN CERTIFICATE-----\n"\
- "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"\
- "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"\
- "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"\
- "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\n"\
- "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\n"\
- "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\n"\
- "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\n"\
- "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\n"\
- "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\n"\
- "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\n"\
- "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\n"\
- "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\n"\
- "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\n"\
- "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\n"\
- "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\n"\
- "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\n"\
- "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\n"\
- "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\n"\
- "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\n"\
- "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\n"\
- "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\n"\
- "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\n"\
- "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\n"\
- "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\n"\
- "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\n"\
- "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\n"\
- "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\n"\
- "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\n"\
- "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\n"\
- "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\n"\
- "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\n"\
- "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\n"\
- "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\n"\
- "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\n"\
- "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\n"\
- "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\n"\
- "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\n"\
- "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\n"\
- "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD\n"\
- "-----END CERTIFICATE-----\n";
- /* get a BIO */
- bio=BIO_new_mem_buf(mypem, -1);
- /* use it to read the PEM formatted certificate from memory into an X509
- * structure that SSL can use
- */
- PEM_read_bio_X509(bio, &cert, 0, NULL);
- if (cert == NULL)
- printf("PEM_read_bio_X509 failed...\n");
-
- /* get a pointer to the X509 certificate store (which may be empty!) */
- store=SSL_CTX_get_cert_store((SSL_CTX *)sslctx);
-
- /* add our certificate to this store */
- if (X509_STORE_add_cert(store, cert)==0)
- printf("error adding certificate\n");
-
- /* all set to go */
- return CURLE_OK ;
-}
-
-int main(void)
-{
- CURL * ch;
- CURLcode rv;
-
- rv=curl_global_init(CURL_GLOBAL_ALL);
- ch=curl_easy_init();
- rv=curl_easy_setopt(ch,CURLOPT_VERBOSE, 0L);
- rv=curl_easy_setopt(ch,CURLOPT_HEADER, 0L);
- rv=curl_easy_setopt(ch,CURLOPT_NOPROGRESS, 1L);
- rv=curl_easy_setopt(ch,CURLOPT_NOSIGNAL, 1L);
- rv=curl_easy_setopt(ch,CURLOPT_WRITEFUNCTION, *writefunction);
- rv=curl_easy_setopt(ch,CURLOPT_WRITEDATA, stdout);
- rv=curl_easy_setopt(ch,CURLOPT_HEADERFUNCTION, *writefunction);
- rv=curl_easy_setopt(ch,CURLOPT_WRITEHEADER, stderr);
- rv=curl_easy_setopt(ch,CURLOPT_SSLCERTTYPE,"PEM");
- rv=curl_easy_setopt(ch,CURLOPT_SSL_VERIFYPEER,1L);
- rv=curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/");
-
- /* first try: retrieve page without cacerts' certificate -> will fail
- */
- rv=curl_easy_perform(ch);
- if (rv==CURLE_OK)
- printf("*** transfer succeeded ***\n");
- else
- printf("*** transfer failed ***\n");
-
- /* second try: retrieve page using cacerts' certificate -> will succeed
- * load the certificate by installing a function doing the nescessary
- * "modifications" to the SSL CONTEXT just before link init
- */
- rv=curl_easy_setopt(ch,CURLOPT_SSL_CTX_FUNCTION, *sslctx_function);
- rv=curl_easy_perform(ch);
- if (rv==CURLE_OK)
- printf("*** transfer succeeded ***\n");
- else
- printf("*** transfer failed ***\n");
-
- curl_easy_cleanup(ch);
- curl_global_cleanup();
- return rv;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/certinfo.c b/plugins/FTPFileYM/curl/docs/examples/certinfo.c
deleted file mode 100644
index ac0109b071..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/certinfo.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-
-#include <curl/curl.h>
-
-static size_t wrfu(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- (void)stream;
- (void)ptr;
- return size * nmemb;
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/");
-
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, wrfu);
-
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
-
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
- curl_easy_setopt(curl, CURLOPT_CERTINFO, 1L);
-
- res = curl_easy_perform(curl);
-
- if(!res) {
- union {
- struct curl_slist *to_info;
- struct curl_certinfo *to_certinfo;
- } ptr;
-
- ptr.to_info = NULL;
-
- res = curl_easy_getinfo(curl, CURLINFO_CERTINFO, &ptr.to_info);
-
- if(!res && ptr.to_info) {
- int i;
-
- printf("%d certs!\n", ptr.to_certinfo->num_of_certs);
-
- for(i = 0; i < ptr.to_certinfo->num_of_certs; i++) {
- struct curl_slist *slist;
-
- for(slist = ptr.to_certinfo->certinfo[i]; slist; slist = slist->next)
- printf("%s\n", slist->data);
-
- }
- }
-
- }
-
- curl_easy_cleanup(curl);
- }
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/chkspeed.c b/plugins/FTPFileYM/curl/docs/examples/chkspeed.c
deleted file mode 100644
index b5c397ab74..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/chkspeed.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example source code to show how the callback function can be used to
- * download data into a chunk of memory instead of storing it in a file.
- * After successful download we use curl_easy_getinfo() calls to get the
- * amount of downloaded bytes, the time used for the whole download, and
- * the average download speed.
- * On Linux you can create the download test files with:
- * dd if=/dev/urandom of=file_1M.bin bs=1M count=1
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include <curl/curl.h>
-
-#define URL_BASE "http://speedtest.your.domain/"
-#define URL_1M URL_BASE "file_1M.bin"
-#define URL_2M URL_BASE "file_2M.bin"
-#define URL_5M URL_BASE "file_5M.bin"
-#define URL_10M URL_BASE "file_10M.bin"
-#define URL_20M URL_BASE "file_20M.bin"
-#define URL_50M URL_BASE "file_50M.bin"
-#define URL_100M URL_BASE "file_100M.bin"
-
-#define CHKSPEED_VERSION "1.0"
-
-static size_t WriteCallback(void *ptr, size_t size, size_t nmemb, void *data)
-{
- /* we are not interested in the downloaded bytes itself,
- so we only return the size we would have saved ... */
- (void)ptr; /* unused */
- (void)data; /* unused */
- return (size_t)(size * nmemb);
-}
-
-int main(int argc, char *argv[])
-{
- CURL *curl_handle;
- CURLcode res;
- int prtsep = 0, prttime = 0;
- const char *url = URL_1M;
- char *appname = argv[0];
-
- if (argc > 1) {
- /* parse input parameters */
- for (argc--, argv++; *argv; argc--, argv++) {
- if (strncasecmp(*argv, "-", 1) == 0) {
- if (strncasecmp(*argv, "-H", 2) == 0) {
- fprintf(stderr,
- "\rUsage: %s [-m=1|2|5|10|20|50|100] [-t] [-x] [url]\n",
- appname);
- exit(1);
- } else if (strncasecmp(*argv, "-V", 2) == 0) {
- fprintf(stderr, "\r%s %s - %s\n",
- appname, CHKSPEED_VERSION, curl_version());
- exit(1);
- } else if (strncasecmp(*argv, "-X", 2) == 0) {
- prtsep = 1;
- } else if (strncasecmp(*argv, "-T", 2) == 0) {
- prttime = 1;
- } else if (strncasecmp(*argv, "-M=", 3) == 0) {
- long m = strtol((*argv)+3, NULL, 10);
- switch(m) {
- case 1: url = URL_1M;
- break;
- case 2: url = URL_2M;
- break;
- case 5: url = URL_5M;
- break;
- case 10: url = URL_10M;
- break;
- case 20: url = URL_20M;
- break;
- case 50: url = URL_50M;
- break;
- case 100: url = URL_100M;
- break;
- default: fprintf(stderr, "\r%s: invalid parameter %s\n",
- appname, *argv + 3);
- exit(1);
- }
- } else {
- fprintf(stderr, "\r%s: invalid or unknown option %s\n",
- appname, *argv);
- exit(1);
- }
- } else {
- url = *argv;
- }
- }
- }
-
- /* print separator line */
- if (prtsep) {
- printf("-------------------------------------------------\n");
- }
- /* print localtime */
- if (prttime) {
- time_t t = time(NULL);
- printf("Localtime: %s", ctime(&t));
- }
-
- /* init libcurl */
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* init the curl session */
- curl_handle = curl_easy_init();
-
- /* specify URL to get */
- curl_easy_setopt(curl_handle, CURLOPT_URL, url);
-
- /* send all data to this function */
- curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteCallback);
-
- /* some servers don't like requests that are made without a user-agent
- field, so we provide one */
- curl_easy_setopt(curl_handle, CURLOPT_USERAGENT,
- "libcurl-speedchecker/" CHKSPEED_VERSION);
-
- /* get it! */
- res = curl_easy_perform(curl_handle);
-
- if(CURLE_OK == res) {
- double val;
-
- /* check for bytes downloaded */
- res = curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD, &val);
- if((CURLE_OK == res) && (val>0))
- printf("Data downloaded: %0.0f bytes.\n", val);
-
- /* check for total download time */
- res = curl_easy_getinfo(curl_handle, CURLINFO_TOTAL_TIME, &val);
- if((CURLE_OK == res) && (val>0))
- printf("Total download time: %0.3f sec.\n", val);
-
- /* check for average download speed */
- res = curl_easy_getinfo(curl_handle, CURLINFO_SPEED_DOWNLOAD, &val);
- if((CURLE_OK == res) && (val>0))
- printf("Average download speed: %0.3f kbyte/sec.\n", val / 1024);
-
- } else {
- fprintf(stderr, "Error while fetching '%s' : %s\n",
- url, curl_easy_strerror(res));
- }
-
- /* cleanup curl stuff */
- curl_easy_cleanup(curl_handle);
-
- /* we're done with libcurl, so clean it up */
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/cookie_interface.c b/plugins/FTPFileYM/curl/docs/examples/cookie_interface.c
deleted file mode 100644
index 2e7c66db2c..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/cookie_interface.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This example shows usage of simple cookie interface. */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <time.h>
-
-#include <curl/curl.h>
-
-static void
-print_cookies(CURL *curl)
-{
- CURLcode res;
- struct curl_slist *cookies;
- struct curl_slist *nc;
- int i;
-
- printf("Cookies, curl knows:\n");
- res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies);
- if (res != CURLE_OK) {
- fprintf(stderr, "Curl curl_easy_getinfo failed: %s\n", curl_easy_strerror(res));
- exit(1);
- }
- nc = cookies, i = 1;
- while (nc) {
- printf("[%d]: %s\n", i, nc->data);
- nc = nc->next;
- i++;
- }
- if (i == 1) {
- printf("(none)\n");
- }
- curl_slist_free_all(cookies);
-}
-
-int
-main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl_global_init(CURL_GLOBAL_ALL);
- curl = curl_easy_init();
- if (curl) {
- char nline[256];
-
- curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/");
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_COOKIEFILE, ""); /* just to start the cookie engine */
- res = curl_easy_perform(curl);
- if (res != CURLE_OK) {
- fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res));
- return 1;
- }
-
- print_cookies(curl);
-
- printf("Erasing curl's knowledge of cookies!\n");
- curl_easy_setopt(curl, CURLOPT_COOKIELIST, "ALL");
-
- print_cookies(curl);
-
- printf("-----------------------------------------------\n"
- "Setting a cookie \"PREF\" via cookie interface:\n");
-#ifdef WIN32
-#define snprintf _snprintf
-#endif
- /* Netscape format cookie */
- snprintf(nline, sizeof(nline), "%s\t%s\t%s\t%s\t%lu\t%s\t%s",
- ".google.com", "TRUE", "/", "FALSE", (unsigned long)time(NULL) + 31337UL, "PREF", "hello google, i like you very much!");
- res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline);
- if (res != CURLE_OK) {
- fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", curl_easy_strerror(res));
- return 1;
- }
-
- /* HTTP-header style cookie */
- snprintf(nline, sizeof(nline),
- "Set-Cookie: OLD_PREF=3d141414bf4209321; "
- "expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com");
- res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline);
- if (res != CURLE_OK) {
- fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", curl_easy_strerror(res));
- return 1;
- }
-
- print_cookies(curl);
-
- res = curl_easy_perform(curl);
- if (res != CURLE_OK) {
- fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res));
- return 1;
- }
- }
- else {
- fprintf(stderr, "Curl init failed!\n");
- return 1;
- }
-
- curl_global_cleanup();
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/curlgtk.c b/plugins/FTPFileYM/curl/docs/examples/curlgtk.c
deleted file mode 100644
index 8cb9914c60..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/curlgtk.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*****************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- */
-/* Copyright (c) 2000 David Odin (aka DindinX) for MandrakeSoft */
-/* an attempt to use the curl library in concert with a gtk-threaded application */
-
-#include <stdio.h>
-#include <gtk/gtk.h>
-
-#include <curl/curl.h>
-
-GtkWidget *Bar;
-
-size_t my_write_func(void *ptr, size_t size, size_t nmemb, FILE *stream)
-{
- return fwrite(ptr, size, nmemb, stream);
-}
-
-size_t my_read_func(void *ptr, size_t size, size_t nmemb, FILE *stream)
-{
- return fread(ptr, size, nmemb, stream);
-}
-
-int my_progress_func(GtkWidget *bar,
- double t, /* dltotal */
- double d, /* dlnow */
- double ultotal,
- double ulnow)
-{
-/* printf("%d / %d (%g %%)\n", d, t, d*100.0/t);*/
- gdk_threads_enter();
- gtk_progress_set_value(GTK_PROGRESS(bar), d*100.0/t);
- gdk_threads_leave();
- return 0;
-}
-
-void *my_thread(void *ptr)
-{
- CURL *curl;
- CURLcode res;
- FILE *outfile;
- gchar *url = ptr;
-
- curl = curl_easy_init();
- if(curl)
- {
- outfile = fopen("test.curl", "w");
-
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile);
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_write_func);
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, my_read_func);
- curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
- curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, my_progress_func);
- curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, Bar);
-
- res = curl_easy_perform(curl);
-
- fclose(outfile);
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- return NULL;
-}
-
-int main(int argc, char **argv)
-{
- GtkWidget *Window, *Frame, *Frame2;
- GtkAdjustment *adj;
-
- /* Must initialize libcurl before any threads are started */
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* Init thread */
- g_thread_init(NULL);
-
- gtk_init(&argc, &argv);
- Window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- Frame = gtk_frame_new(NULL);
- gtk_frame_set_shadow_type(GTK_FRAME(Frame), GTK_SHADOW_OUT);
- gtk_container_add(GTK_CONTAINER(Window), Frame);
- Frame2 = gtk_frame_new(NULL);
- gtk_frame_set_shadow_type(GTK_FRAME(Frame2), GTK_SHADOW_IN);
- gtk_container_add(GTK_CONTAINER(Frame), Frame2);
- gtk_container_set_border_width(GTK_CONTAINER(Frame2), 5);
- adj = (GtkAdjustment*)gtk_adjustment_new(0, 0, 100, 0, 0, 0);
- Bar = gtk_progress_bar_new_with_adjustment(adj);
- gtk_container_add(GTK_CONTAINER(Frame2), Bar);
- gtk_widget_show_all(Window);
-
- if (!g_thread_create(&my_thread, argv[1], FALSE, NULL) != 0)
- g_warning("can't create the thread");
-
-
- gdk_threads_enter();
- gtk_main();
- gdk_threads_leave();
- return 0;
-}
-
diff --git a/plugins/FTPFileYM/curl/docs/examples/curlx.c b/plugins/FTPFileYM/curl/docs/examples/curlx.c
deleted file mode 100644
index 89d5f407b9..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/curlx.c
+++ /dev/null
@@ -1,513 +0,0 @@
-/*
- curlx.c Authors: Peter Sylvester, Jean-Paul Merlin
-
- This is a little program to demonstrate the usage of
-
- - an ssl initialisation callback setting a user key and trustbases
- coming from a pkcs12 file
- - using an ssl application callback to find a URI in the
- certificate presented during ssl session establishment.
-
-*/
-
-
-/*
- * Copyright (c) 2003 The OpenEvidence Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions, the following disclaimer,
- * and the original OpenSSL and SSLeay Licences below.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions, the following disclaimer
- * and the original OpenSSL and SSLeay Licences below in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgments:
- * "This product includes software developed by the Openevidence Project
- * for use in the OpenEvidence Toolkit. (http://www.openevidence.org/)"
- * This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com)."
- *
- * 4. The names "OpenEvidence Toolkit" and "OpenEvidence Project" must not be
- * used to endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openevidence-core@openevidence.org.
- *
- * 5. Products derived from this software may not be called "OpenEvidence"
- * nor may "OpenEvidence" appear in their names without prior written
- * permission of the OpenEvidence Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgments:
- * "This product includes software developed by the OpenEvidence Project
- * for use in the OpenEvidence Toolkit (http://www.openevidence.org/)
- * This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com)."
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenEvidence PROJECT ``AS IS'' AND ANY
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenEvidence PROJECT OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- * ====================================================================
- *
- * This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <curl/curl.h>
-#include <openssl/x509v3.h>
-#include <openssl/x509_vfy.h>
-#include <openssl/crypto.h>
-#include <openssl/lhash.h>
-#include <openssl/objects.h>
-#include <openssl/err.h>
-#include <openssl/evp.h>
-#include <openssl/x509.h>
-#include <openssl/pkcs12.h>
-#include <openssl/bio.h>
-#include <openssl/ssl.h>
-
-static const char *curlx_usage[]={
- "usage: curlx args\n",
- " -p12 arg - tia file ",
- " -envpass arg - environement variable which content the tia private key password",
- " -out arg - output file (response)- default stdout",
- " -in arg - input file (request)- default stdin",
- " -connect arg - URL of the server for the connection ex: www.openevidence.org",
- " -mimetype arg - MIME type for data in ex : application/timestamp-query or application/dvcs -default application/timestamp-query",
- " -acceptmime arg - MIME type acceptable for the response ex : application/timestamp-response or application/dvcs -default none",
- " -accesstype arg - an Object identifier in an AIA/SIA method, e.g. AD_DVCS or ad_timestamping",
- NULL
-};
-
-/*
-
-./curlx -p12 psy.p12 -envpass XX -in request -verbose -accesstype AD_DVCS
--mimetype application/dvcs -acceptmime application/dvcs -out response
-
-*/
-
-/*
- * We use this ZERO_NULL to avoid picky compiler warnings,
- * when assigning a NULL pointer to a function pointer var.
- */
-
-#define ZERO_NULL 0
-
-/* This is a context that we pass to all callbacks */
-
-typedef struct sslctxparm_st {
- unsigned char * p12file ;
- const char * pst ;
- PKCS12 * p12 ;
- EVP_PKEY * pkey ;
- X509 * usercert ;
- STACK_OF(X509) * ca ;
- CURL * curl;
- BIO * errorbio;
- int accesstype ;
- int verbose;
-
-} sslctxparm;
-
-/* some helper function. */
-
-static char *i2s_ASN1_IA5STRING( ASN1_IA5STRING *ia5)
-{
- char *tmp;
- if(!ia5 || !ia5->length)
- return NULL;
- tmp = OPENSSL_malloc(ia5->length + 1);
- memcpy(tmp, ia5->data, ia5->length);
- tmp[ia5->length] = 0;
- return tmp;
-}
-
-/* A conveniance routine to get an access URI. */
-
-static unsigned char *my_get_ext(X509 * cert, const int type, int extensiontype) {
-
- int i;
- STACK_OF(ACCESS_DESCRIPTION) * accessinfo ;
- accessinfo = X509_get_ext_d2i(cert, extensiontype, NULL, NULL) ;
-
- if (!sk_ACCESS_DESCRIPTION_num(accessinfo))
- return NULL;
- for (i = 0; i < sk_ACCESS_DESCRIPTION_num(accessinfo); i++) {
- ACCESS_DESCRIPTION * ad = sk_ACCESS_DESCRIPTION_value(accessinfo, i);
- if (OBJ_obj2nid(ad->method) == type) {
- if (ad->location->type == GEN_URI) {
- return i2s_ASN1_IA5STRING(ad->location->d.ia5);
- }
- return NULL;
- }
- }
- return NULL;
-}
-
-/* This is an application verification call back, it does not
- perform any addition verification but tries to find a URL
- in the presented certificat. If found, this will become
- the URL to be used in the POST.
-*/
-
-static int ssl_app_verify_callback(X509_STORE_CTX *ctx, void *arg)
-{
- sslctxparm * p = (sslctxparm *) arg;
- int ok;
-
- if (p->verbose > 2)
- BIO_printf(p->errorbio,"entering ssl_app_verify_callback\n");
-
- if ((ok= X509_verify_cert(ctx)) && ctx->cert) {
- unsigned char * accessinfo ;
- if (p->verbose > 1)
- X509_print_ex(p->errorbio,ctx->cert,0,0);
-
- if (accessinfo = my_get_ext(ctx->cert,p->accesstype ,NID_sinfo_access)) {
- if (p->verbose)
- BIO_printf(p->errorbio,"Setting URL from SIA to: %s\n", accessinfo);
-
- curl_easy_setopt(p->curl, CURLOPT_URL,accessinfo);
- }
- else if (accessinfo = my_get_ext(ctx->cert,p->accesstype,
- NID_info_access)) {
- if (p->verbose)
- BIO_printf(p->errorbio,"Setting URL from AIA to: %s\n", accessinfo);
-
- curl_easy_setopt(p->curl, CURLOPT_URL,accessinfo);
- }
- }
- if (p->verbose > 2)
- BIO_printf(p->errorbio,"leaving ssl_app_verify_callback with %d\n", ok);
- return(ok);
-}
-
-
-/* This is an example of an curl SSL initialisation call back. The callback sets:
- - a private key and certificate
- - a trusted ca certificate
- - a preferred cipherlist
- - an application verification callback (the function above)
-*/
-
-static CURLcode sslctxfun(CURL * curl, void * sslctx, void * parm) {
-
- sslctxparm * p = (sslctxparm *) parm;
- SSL_CTX * ctx = (SSL_CTX *) sslctx ;
-
- if (!SSL_CTX_use_certificate(ctx,p->usercert)) {
- BIO_printf(p->errorbio, "SSL_CTX_use_certificate problem\n"); goto err;
- }
- if (!SSL_CTX_use_PrivateKey(ctx,p->pkey)) {
- BIO_printf(p->errorbio, "SSL_CTX_use_PrivateKey\n"); goto err;
- }
-
- if (!SSL_CTX_check_private_key(ctx)) {
- BIO_printf(p->errorbio, "SSL_CTX_check_private_key\n"); goto err;
- }
-
- SSL_CTX_set_quiet_shutdown(ctx,1);
- SSL_CTX_set_cipher_list(ctx,"RC4-MD5");
- SSL_CTX_set_mode(ctx, SSL_MODE_AUTO_RETRY);
-
- X509_STORE_add_cert(SSL_CTX_get_cert_store(ctx), sk_X509_value(p->ca, sk_X509_num(p->ca)-1));
-
- SSL_CTX_set_verify_depth(ctx,2);
-
- SSL_CTX_set_verify(ctx,SSL_VERIFY_PEER,ZERO_NULL);
-
- SSL_CTX_set_cert_verify_callback(ctx, ssl_app_verify_callback, parm);
-
-
- return CURLE_OK ;
- err:
- ERR_print_errors(p->errorbio);
- return CURLE_SSL_CERTPROBLEM;
-
-}
-
-int main(int argc, char **argv) {
-
- BIO* in=NULL;
- BIO* out=NULL;
-
- char * outfile = NULL;
- char * infile = NULL ;
-
- int tabLength=100;
- char *binaryptr;
- char* mimetype;
- char* mimetypeaccept=NULL;
- char* contenttype;
- const char** pp;
- unsigned char* hostporturl = NULL;
- BIO * p12bio ;
- char **args = argv + 1;
- unsigned char * serverurl;
- sslctxparm p;
- char *response;
-
- CURLcode res;
- struct curl_slist * headers=NULL;
- int badarg=0;
-
- binaryptr = malloc(tabLength);
-
- p.verbose = 0;
- p.errorbio = BIO_new_fp (stderr, BIO_NOCLOSE);
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- /* we need some more for the P12 decoding */
-
- OpenSSL_add_all_ciphers();
- OpenSSL_add_all_digests();
- ERR_load_crypto_strings();
-
-
-
- while (*args && *args[0] == '-') {
- if (!strcmp (*args, "-in")) {
- if (args[1]) {
- infile=*(++args);
- } else badarg=1;
- } else if (!strcmp (*args, "-out")) {
- if (args[1]) {
- outfile=*(++args);
- } else badarg=1;
- } else if (!strcmp (*args, "-p12")) {
- if (args[1]) {
- p.p12file = *(++args);
- } else badarg=1;
- } else if (strcmp(*args,"-envpass") == 0) {
- if (args[1]) {
- p.pst = getenv(*(++args));
- } else badarg=1;
- } else if (strcmp(*args,"-connect") == 0) {
- if (args[1]) {
- hostporturl = *(++args);
- } else badarg=1;
- } else if (strcmp(*args,"-mimetype") == 0) {
- if (args[1]) {
- mimetype = *(++args);
- } else badarg=1;
- } else if (strcmp(*args,"-acceptmime") == 0) {
- if (args[1]) {
- mimetypeaccept = *(++args);
- } else badarg=1;
- } else if (strcmp(*args,"-accesstype") == 0) {
- if (args[1]) {
- if ((p.accesstype = OBJ_obj2nid(OBJ_txt2obj(*++args,0))) == 0) badarg=1;
- } else badarg=1;
- } else if (strcmp(*args,"-verbose") == 0) {
- p.verbose++;
- } else badarg=1;
- args++;
- }
-
- if (mimetype==NULL || mimetypeaccept == NULL) badarg = 1;
-
- if (badarg) {
- for (pp=curlx_usage; (*pp != NULL); pp++)
- BIO_printf(p.errorbio,"%s\n",*pp);
- BIO_printf(p.errorbio,"\n");
- goto err;
- }
-
-
-
- /* set input */
-
- if ((in=BIO_new(BIO_s_file())) == NULL) {
- BIO_printf(p.errorbio, "Error setting input bio\n");
- goto err;
- } else if (infile == NULL)
- BIO_set_fp(in,stdin,BIO_NOCLOSE|BIO_FP_TEXT);
- else if (BIO_read_filename(in,infile) <= 0) {
- BIO_printf(p.errorbio, "Error opening input file %s\n", infile);
- BIO_free(in);
- goto err;
- }
-
- /* set output */
-
- if ((out=BIO_new(BIO_s_file())) == NULL) {
- BIO_printf(p.errorbio, "Error setting output bio.\n");
- goto err;
- } else if (outfile == NULL)
- BIO_set_fp(out,stdout,BIO_NOCLOSE|BIO_FP_TEXT);
- else if (BIO_write_filename(out,outfile) <= 0) {
- BIO_printf(p.errorbio, "Error opening output file %s\n", outfile);
- BIO_free(out);
- goto err;
- }
-
-
- p.errorbio = BIO_new_fp (stderr, BIO_NOCLOSE);
-
- if (!(p.curl = curl_easy_init())) {
- BIO_printf(p.errorbio, "Cannot init curl lib\n");
- goto err;
- }
-
-
-
- if (!(p12bio = BIO_new_file(p.p12file , "rb"))) {
- BIO_printf(p.errorbio, "Error opening P12 file %s\n", p.p12file); goto err;
- }
- if (!(p.p12 = d2i_PKCS12_bio (p12bio, NULL))) {
- BIO_printf(p.errorbio, "Cannot decode P12 structure %s\n", p.p12file); goto err;
- }
-
- p.ca= NULL;
- if (!(PKCS12_parse (p.p12, p.pst, &(p.pkey), &(p.usercert), &(p.ca) ) )) {
- BIO_printf(p.errorbio,"Invalid P12 structure in %s\n", p.p12file); goto err;
- }
-
- if (sk_X509_num(p.ca) <= 0) {
- BIO_printf(p.errorbio,"No trustworthy CA given.%s\n", p.p12file); goto err;
- }
-
- if (p.verbose > 1)
- X509_print_ex(p.errorbio,p.usercert,0,0);
-
- /* determine URL to go */
-
- if (hostporturl) {
- serverurl = malloc(9+strlen(hostporturl));
- sprintf(serverurl,"https://%s",hostporturl);
- }
- else if (p.accesstype != 0) { /* see whether we can find an AIA or SIA for a given access type */
- if (!(serverurl = my_get_ext(p.usercert,p.accesstype,NID_info_access))) {
- int j=0;
- BIO_printf(p.errorbio,"no service URL in user cert "
- "cherching in others certificats\n");
- for (j=0;j<sk_X509_num(p.ca);j++) {
- if ((serverurl = my_get_ext(sk_X509_value(p.ca,j),p.accesstype,
- NID_info_access)))
- break;
- if ((serverurl = my_get_ext(sk_X509_value(p.ca,j),p.accesstype,
- NID_sinfo_access)))
- break;
- }
- }
- }
-
- if (!serverurl) {
- BIO_printf(p.errorbio, "no service URL in certificats,"
- " check '-accesstype (AD_DVCS | ad_timestamping)'"
- " or use '-connect'\n");
- goto err;
- }
-
- if (p.verbose)
- BIO_printf(p.errorbio, "Service URL: <%s>\n", serverurl);
-
- curl_easy_setopt(p.curl, CURLOPT_URL, serverurl);
-
- /* Now specify the POST binary data */
-
- curl_easy_setopt(p.curl, CURLOPT_POSTFIELDS, binaryptr);
- curl_easy_setopt(p.curl, CURLOPT_POSTFIELDSIZE,(long)tabLength);
-
- /* pass our list of custom made headers */
-
- contenttype = malloc(15+strlen(mimetype));
- sprintf(contenttype,"Content-type: %s",mimetype);
- headers = curl_slist_append(headers,contenttype);
- curl_easy_setopt(p.curl, CURLOPT_HTTPHEADER, headers);
-
- if (p.verbose)
- BIO_printf(p.errorbio, "Service URL: <%s>\n", serverurl);
-
- {
- FILE *outfp;
- BIO_get_fp(out,&outfp);
- curl_easy_setopt(p.curl, CURLOPT_WRITEDATA, outfp);
- }
-
- res = curl_easy_setopt(p.curl, CURLOPT_SSL_CTX_FUNCTION, sslctxfun) ;
-
- if (res != CURLE_OK)
- BIO_printf(p.errorbio,"%d %s=%d %d\n", __LINE__, "CURLOPT_SSL_CTX_FUNCTION",CURLOPT_SSL_CTX_FUNCTION,res);
-
- curl_easy_setopt(p.curl, CURLOPT_SSL_CTX_DATA, &p);
-
- {
- int lu; int i=0;
- while ((lu = BIO_read (in,&binaryptr[i],tabLength-i)) >0 ) {
- i+=lu;
- if (i== tabLength) {
- tabLength+=100;
- binaryptr=realloc(binaryptr,tabLength); /* should be more careful */
- }
- }
- tabLength = i;
- }
- /* Now specify the POST binary data */
-
- curl_easy_setopt(p.curl, CURLOPT_POSTFIELDS, binaryptr);
- curl_easy_setopt(p.curl, CURLOPT_POSTFIELDSIZE,(long)tabLength);
-
-
- /* Perform the request, res will get the return code */
-
- BIO_printf(p.errorbio,"%d %s %d\n", __LINE__, "curl_easy_perform",
- res = curl_easy_perform(p.curl));
- {
- int result =curl_easy_getinfo(p.curl,CURLINFO_CONTENT_TYPE,&response);
- if( mimetypeaccept && p.verbose)
- if(!strcmp(mimetypeaccept,response))
- BIO_printf(p.errorbio,"the response has a correct mimetype : %s\n",
- response);
- else
- BIO_printf(p.errorbio,"the reponse doesn\'t has an acceptable "
- "mime type, it is %s instead of %s\n",
- response,mimetypeaccept);
- }
-
- /*** code d'erreur si accept mime ***, egalement code return HTTP != 200 ***/
-
-/* free the header list*/
-
- curl_slist_free_all(headers);
-
- /* always cleanup */
- curl_easy_cleanup(p.curl);
-
- BIO_free(in);
- BIO_free(out);
- return (EXIT_SUCCESS);
-
- err: BIO_printf(p.errorbio,"error");
- exit(1);
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/debug.c b/plugins/FTPFileYM/curl/docs/examples/debug.c
deleted file mode 100644
index 36dd80d702..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/debug.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-struct data {
- char trace_ascii; /* 1 or 0 */
-};
-
-static
-void dump(const char *text,
- FILE *stream, unsigned char *ptr, size_t size,
- char nohex)
-{
- size_t i;
- size_t c;
-
- unsigned int width=0x10;
-
- if(nohex)
- /* without the hex output, we can fit more on screen */
- width = 0x40;
-
- fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n",
- text, (long)size, (long)size);
-
- for(i=0; i<size; i+= width) {
-
- fprintf(stream, "%4.4lx: ", (long)i);
-
- if(!nohex) {
- /* hex not disabled, show it */
- for(c = 0; c < width; c++)
- if(i+c < size)
- fprintf(stream, "%02x ", ptr[i+c]);
- else
- fputs(" ", stream);
- }
-
- for(c = 0; (c < width) && (i+c < size); c++) {
- /* check for 0D0A; if found, skip past and start a new line of output */
- if (nohex && (i+c+1 < size) && ptr[i+c]==0x0D && ptr[i+c+1]==0x0A) {
- i+=(c+2-width);
- break;
- }
- fprintf(stream, "%c",
- (ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.');
- /* check again for 0D0A, to avoid an extra \n if it's at width */
- if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) {
- i+=(c+3-width);
- break;
- }
- }
- fputc('\n', stream); /* newline */
- }
- fflush(stream);
-}
-
-static
-int my_trace(CURL *handle, curl_infotype type,
- char *data, size_t size,
- void *userp)
-{
- struct data *config = (struct data *)userp;
- const char *text;
- (void)handle; /* prevent compiler warning */
-
- switch (type) {
- case CURLINFO_TEXT:
- fprintf(stderr, "== Info: %s", data);
- default: /* in case a new one is introduced to shock us */
- return 0;
-
- case CURLINFO_HEADER_OUT:
- text = "=> Send header";
- break;
- case CURLINFO_DATA_OUT:
- text = "=> Send data";
- break;
- case CURLINFO_SSL_DATA_OUT:
- text = "=> Send SSL data";
- break;
- case CURLINFO_HEADER_IN:
- text = "<= Recv header";
- break;
- case CURLINFO_DATA_IN:
- text = "<= Recv data";
- break;
- case CURLINFO_SSL_DATA_IN:
- text = "<= Recv SSL data";
- break;
- }
-
- dump(text, stderr, (unsigned char *)data, size, config->trace_ascii);
- return 0;
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct data config;
-
- config.trace_ascii = 1; /* enable ascii tracing */
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
- curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &config);
-
- /* the DEBUGFUNCTION has no effect until we enable VERBOSE */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* example.com is redirected, so we tell libcurl to follow redirection */
- curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
-
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/evhiperfifo.c b/plugins/FTPFileYM/curl/docs/examples/evhiperfifo.c
deleted file mode 100644
index c2e87fcc56..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/evhiperfifo.c
+++ /dev/null
@@ -1,442 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example application source code using the multi socket interface to
- * download many files at once.
- *
- * This example features the same basic functionality as hiperfifo.c does,
- * but this uses libev instead of libevent.
- *
- * Written by Jeff Pohlmeyer, converted to use libev by Markus Koetter
-
-Requires libev and a (POSIX?) system that has mkfifo().
-
-This is an adaptation of libcurl's "hipev.c" and libevent's "event-test.c"
-sample programs.
-
-When running, the program creates the named pipe "hiper.fifo"
-
-Whenever there is input into the fifo, the program reads the input as a list
-of URL's and creates some new easy handles to fetch each URL via the
-curl_multi "hiper" API.
-
-
-Thus, you can try a single URL:
- % echo http://www.yahoo.com > hiper.fifo
-
-Or a whole bunch of them:
- % cat my-url-list > hiper.fifo
-
-The fifo buffer is handled almost instantly, so you can even add more URL's
-while the previous requests are still being downloaded.
-
-Note:
- For the sake of simplicity, URL length is limited to 1023 char's !
-
-This is purely a demo app, all retrieved data is simply discarded by the write
-callback.
-
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <time.h>
-#include <unistd.h>
-#include <sys/poll.h>
-#include <curl/curl.h>
-#include <ev.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-
-#define DPRINT(x...) printf(x)
-
-#define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */
-
-
-/* Global information, common to all connections */
-typedef struct _GlobalInfo
-{
- struct ev_loop *loop;
- struct ev_io fifo_event;
- struct ev_timer timer_event;
- CURLM *multi;
- int still_running;
- FILE* input;
-} GlobalInfo;
-
-
-/* Information associated with a specific easy handle */
-typedef struct _ConnInfo
-{
- CURL *easy;
- char *url;
- GlobalInfo *global;
- char error[CURL_ERROR_SIZE];
-} ConnInfo;
-
-
-/* Information associated with a specific socket */
-typedef struct _SockInfo
-{
- curl_socket_t sockfd;
- CURL *easy;
- int action;
- long timeout;
- struct ev_io ev;
- int evset;
- GlobalInfo *global;
-} SockInfo;
-
-static void timer_cb(EV_P_ struct ev_timer *w, int revents);
-
-/* Update the event timer after curl_multi library calls */
-static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
-{
- DPRINT("%s %li\n", __PRETTY_FUNCTION__, timeout_ms);
- ev_timer_stop(g->loop, &g->timer_event);
- if (timeout_ms > 0)
- {
- double t = timeout_ms / 1000;
- ev_timer_init(&g->timer_event, timer_cb, t, 0.);
- ev_timer_start(g->loop, &g->timer_event);
- }else
- timer_cb(g->loop, &g->timer_event, 0);
- return 0;
-}
-
-/* Die if we get a bad CURLMcode somewhere */
-static void mcode_or_die(const char *where, CURLMcode code)
-{
- if ( CURLM_OK != code )
- {
- const char *s;
- switch ( code )
- {
- case CURLM_CALL_MULTI_PERFORM: s="CURLM_CALL_MULTI_PERFORM"; break;
- case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break;
- case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break;
- case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break;
- case CURLM_INTERNAL_ERROR: s="CURLM_INTERNAL_ERROR"; break;
- case CURLM_UNKNOWN_OPTION: s="CURLM_UNKNOWN_OPTION"; break;
- case CURLM_LAST: s="CURLM_LAST"; break;
- default: s="CURLM_unknown";
- break;
- case CURLM_BAD_SOCKET: s="CURLM_BAD_SOCKET";
- fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
- /* ignore this error */
- return;
- }
- fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
- exit(code);
- }
-}
-
-
-
-/* Check for completed transfers, and remove their easy handles */
-static void check_multi_info(GlobalInfo *g)
-{
- char *eff_url;
- CURLMsg *msg;
- int msgs_left;
- ConnInfo *conn;
- CURL *easy;
- CURLcode res;
-
- fprintf(MSG_OUT, "REMAINING: %d\n", g->still_running);
- while ((msg = curl_multi_info_read(g->multi, &msgs_left))) {
- if (msg->msg == CURLMSG_DONE) {
- easy = msg->easy_handle;
- res = msg->data.result;
- curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn);
- curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url);
- fprintf(MSG_OUT, "DONE: %s => (%d) %s\n", eff_url, res, conn->error);
- curl_multi_remove_handle(g->multi, easy);
- free(conn->url);
- curl_easy_cleanup(easy);
- free(conn);
- }
- }
-}
-
-
-
-/* Called by libevent when we get action on a multi socket */
-static void event_cb(EV_P_ struct ev_io *w, int revents)
-{
- DPRINT("%s w %p revents %i\n", __PRETTY_FUNCTION__, w, revents);
- GlobalInfo *g = (GlobalInfo*) w->data;
- CURLMcode rc;
-
- int action = (revents&EV_READ?CURL_POLL_IN:0)|
- (revents&EV_WRITE?CURL_POLL_OUT:0);
- rc = curl_multi_socket_action(g->multi, w->fd, action, &g->still_running);
- mcode_or_die("event_cb: curl_multi_socket_action", rc);
- check_multi_info(g);
- if ( g->still_running <= 0 )
- {
- fprintf(MSG_OUT, "last transfer done, kill timeout\n");
- ev_timer_stop(g->loop, &g->timer_event);
- }
-}
-
-/* Called by libevent when our timeout expires */
-static void timer_cb(EV_P_ struct ev_timer *w, int revents)
-{
- DPRINT("%s w %p revents %i\n", __PRETTY_FUNCTION__, w, revents);
-
- GlobalInfo *g = (GlobalInfo *)w->data;
- CURLMcode rc;
-
- rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, &g->still_running);
- mcode_or_die("timer_cb: curl_multi_socket_action", rc);
- check_multi_info(g);
-}
-
-/* Clean up the SockInfo structure */
-static void remsock(SockInfo *f, GlobalInfo *g)
-{
- printf("%s \n", __PRETTY_FUNCTION__);
- if ( f )
- {
- if ( f->evset )
- ev_io_stop(g->loop, &f->ev);
- free(f);
- }
-}
-
-
-
-/* Assign information to a SockInfo structure */
-static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
-{
- printf("%s \n", __PRETTY_FUNCTION__);
-
- int kind = (act&CURL_POLL_IN?EV_READ:0)|(act&CURL_POLL_OUT?EV_WRITE:0);
-
- f->sockfd = s;
- f->action = act;
- f->easy = e;
- if ( f->evset )
- ev_io_stop(g->loop, &f->ev);
- ev_io_init(&f->ev, event_cb, f->sockfd, kind);
- f->ev.data = g;
- f->evset=1;
- ev_io_start(g->loop, &f->ev);
-}
-
-
-
-/* Initialize a new SockInfo structure */
-static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g)
-{
- SockInfo *fdp = calloc(sizeof(SockInfo), 1);
-
- fdp->global = g;
- setsock(fdp, s, easy, action, g);
- curl_multi_assign(g->multi, s, fdp);
-}
-
-/* CURLMOPT_SOCKETFUNCTION */
-static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
-{
- DPRINT("%s e %p s %i what %i cbp %p sockp %p\n",
- __PRETTY_FUNCTION__, e, s, what, cbp, sockp);
-
- GlobalInfo *g = (GlobalInfo*) cbp;
- SockInfo *fdp = (SockInfo*) sockp;
- const char *whatstr[]={ "none", "IN", "OUT", "INOUT", "REMOVE"};
-
- fprintf(MSG_OUT,
- "socket callback: s=%d e=%p what=%s ", s, e, whatstr[what]);
- if ( what == CURL_POLL_REMOVE )
- {
- fprintf(MSG_OUT, "\n");
- remsock(fdp, g);
- } else
- {
- if ( !fdp )
- {
- fprintf(MSG_OUT, "Adding data: %s\n", whatstr[what]);
- addsock(s, e, what, g);
- } else
- {
- fprintf(MSG_OUT,
- "Changing action from %s to %s\n",
- whatstr[fdp->action], whatstr[what]);
- setsock(fdp, s, e, what, g);
- }
- }
- return 0;
-}
-
-
-/* CURLOPT_WRITEFUNCTION */
-static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
-{
- size_t realsize = size * nmemb;
- ConnInfo *conn = (ConnInfo*) data;
- (void)ptr;
- (void)conn;
- return realsize;
-}
-
-
-/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb (void *p, double dltotal, double dlnow, double ult,
- double uln)
-{
- ConnInfo *conn = (ConnInfo *)p;
- (void)ult;
- (void)uln;
-
- fprintf(MSG_OUT, "Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal);
- return 0;
-}
-
-
-/* Create a new easy handle, and add it to the global curl_multi */
-static void new_conn(char *url, GlobalInfo *g )
-{
- ConnInfo *conn;
- CURLMcode rc;
-
- conn = calloc(1, sizeof(ConnInfo));
- memset(conn, 0, sizeof(ConnInfo));
- conn->error[0]='\0';
-
- conn->easy = curl_easy_init();
- if ( !conn->easy )
- {
- fprintf(MSG_OUT, "curl_easy_init() failed, exiting!\n");
- exit(2);
- }
- conn->global = g;
- conn->url = strdup(url);
- curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, conn);
- curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error);
- curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn);
- curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, 0L);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn);
- curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_TIME, 3L);
- curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_LIMIT, 10L);
-
- fprintf(MSG_OUT,
- "Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url);
- rc = curl_multi_add_handle(g->multi, conn->easy);
- mcode_or_die("new_conn: curl_multi_add_handle", rc);
-
- /* note that the add_handle() will set a time-out to trigger very soon so
- that the necessary socket_action() call will be called by this app */
-}
-
-/* This gets called whenever data is received from the fifo */
-static void fifo_cb(EV_P_ struct ev_io *w, int revents)
-{
- char s[1024];
- long int rv=0;
- int n=0;
- GlobalInfo *g = (GlobalInfo *)w->data;
-
- do
- {
- s[0]='\0';
- rv=fscanf(g->input, "%1023s%n", s, &n);
- s[n]='\0';
- if ( n && s[0] )
- {
- new_conn(s,g); /* if we read a URL, go get it! */
- } else break;
- } while ( rv != EOF );
-}
-
-/* Create a named pipe and tell libevent to monitor it */
-static int init_fifo (GlobalInfo *g)
-{
- struct stat st;
- static const char *fifo = "hiper.fifo";
- curl_socket_t sockfd;
-
- fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
- if ( lstat (fifo, &st) == 0 )
- {
- if ( (st.st_mode & S_IFMT) == S_IFREG )
- {
- errno = EEXIST;
- perror("lstat");
- exit (1);
- }
- }
- unlink(fifo);
- if ( mkfifo (fifo, 0600) == -1 )
- {
- perror("mkfifo");
- exit (1);
- }
- sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
- if ( sockfd == -1 )
- {
- perror("open");
- exit (1);
- }
- g->input = fdopen(sockfd, "r");
-
- fprintf(MSG_OUT, "Now, pipe some URL's into > %s\n", fifo);
- ev_io_init(&g->fifo_event, fifo_cb, sockfd, EV_READ);
- ev_io_start(g->loop, &g->fifo_event);
- return(0);
-}
-
-int main(int argc, char **argv)
-{
- GlobalInfo g;
- CURLMcode rc;
- (void)argc;
- (void)argv;
-
- memset(&g, 0, sizeof(GlobalInfo));
- g.loop = ev_default_loop(0);
-
- init_fifo(&g);
- g.multi = curl_multi_init();
-
- ev_timer_init(&g.timer_event, timer_cb, 0., 0.);
- g.timer_event.data = &g;
- g.fifo_event.data = &g;
- curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb);
- curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g);
- curl_multi_setopt(g.multi, CURLMOPT_TIMERFUNCTION, multi_timer_cb);
- curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g);
-
- /* we don't call any curl_multi_socket*() function yet as we have no handles
- added! */
-
- ev_loop(g.loop, 0);
- curl_multi_cleanup(g.multi);
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/externalsocket.c b/plugins/FTPFileYM/curl/docs/examples/externalsocket.c
deleted file mode 100644
index 1b326c8b29..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/externalsocket.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/*
- * This is an example demonstrating how an application can pass in a custom
- * socket to libcurl to use. This example also handles the connect itself.
- */
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <curl/curl.h>
-
-#ifdef WIN32
-#include <windows.h>
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#define close closesocket
-#else
-#include <sys/types.h> /* socket types */
-#include <sys/socket.h> /* socket definitions */
-#include <netinet/in.h>
-#include <arpa/inet.h> /* inet (3) funtions */
-#include <unistd.h> /* misc. UNIX functions */
-#endif
-
-#include <errno.h>
-
-/* The IP address and port number to connect to */
-#define IPADDR "127.0.0.1"
-#define PORTNUM 80
-
-#ifndef INADDR_NONE
-#define INADDR_NONE 0xffffffff
-#endif
-
-static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- int written = fwrite(ptr, size, nmemb, (FILE *)stream);
- return written;
-}
-
-static curl_socket_t opensocket(void *clientp,
- curlsocktype purpose,
- struct curl_sockaddr *address)
-{
- curl_socket_t sockfd;
- (void)purpose;
- (void)address;
- sockfd = *(curl_socket_t *)clientp;
- /* the actual externally set socket is passed in via the OPENSOCKETDATA
- option */
- return sockfd;
-}
-
-static int sockopt_callback(void *clientp, curl_socket_t curlfd,
- curlsocktype purpose)
-{
- (void)clientp;
- (void)curlfd;
- (void)purpose;
- /* This return code was added in libcurl 7.21.5 */
- return CURL_SOCKOPT_ALREADY_CONNECTED;
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct sockaddr_in servaddr; /* socket address structure */
- curl_socket_t sockfd;
-
-#ifdef WIN32
- WSADATA wsaData;
- int initwsa;
-
- if((initwsa = WSAStartup(MAKEWORD(2,0), &wsaData)) != 0) {
- printf("WSAStartup failed: %d\n", initwsa);
- return 1;
- }
-#endif
-
- curl = curl_easy_init();
- if(curl) {
- /*
- * Note that libcurl will internally think that you connect to the host
- * and port that you specify in the URL option.
- */
- curl_easy_setopt(curl, CURLOPT_URL, "http://99.99.99.99:9999");
-
- /* Create the socket "manually" */
- if( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) == CURL_SOCKET_BAD ) {
- printf("Error creating listening socket.\n");
- return 3;
- }
-
- memset(&servaddr, 0, sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- servaddr.sin_port = htons(PORTNUM);
-
- if (INADDR_NONE == (servaddr.sin_addr.s_addr = inet_addr(IPADDR)))
- return 2;
-
- if(connect(sockfd,(struct sockaddr *) &servaddr, sizeof(servaddr)) ==
- -1) {
- close(sockfd);
- printf("client error: connect: %s\n", strerror(errno));
- return 1;
- }
-
- /* no progress meter please */
- curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
-
- /* send all data to this function */
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
-
- /* call this function to get a socket */
- curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, opensocket);
- curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &sockfd);
-
- /* call this function to set options for the socket */
- curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockopt_callback);
-
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
-
- res = curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
-
- if(res) {
- printf("libcurl error: %d\n", res);
- return 4;
- }
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/fileupload.c b/plugins/FTPFileYM/curl/docs/examples/fileupload.c
deleted file mode 100644
index 665eca0af9..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/fileupload.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct stat file_info;
- double speed_upload, total_time;
- FILE *fd;
-
- fd = fopen("debugit", "rb"); /* open file to upload */
- if(!fd) {
-
- return 1; /* can't continue */
- }
-
- /* to get the file size */
- if(fstat(fileno(fd), &file_info) != 0) {
-
- return 1; /* can't continue */
- }
-
- curl = curl_easy_init();
- if(curl) {
- /* upload to this place */
- curl_easy_setopt(curl, CURLOPT_URL,
- "file:///home/dast/src/curl/debug/new");
-
- /* tell it to "upload" to the URL */
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-
- /* set where to read from (on Windows you need to use READFUNCTION too) */
- curl_easy_setopt(curl, CURLOPT_READDATA, fd);
-
- /* and give the size of the upload (optional) */
- curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE,
- (curl_off_t)file_info.st_size);
-
- /* enable verbose for easier tracing */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK) {
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- }
- else {
- /* now extract transfer info */
- curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &speed_upload);
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &total_time);
-
- fprintf(stderr, "Speed: %.3f bytes/sec during %.3f seconds\n",
- speed_upload, total_time);
-
- }
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/fopen.c b/plugins/FTPFileYM/curl/docs/examples/fopen.c
deleted file mode 100644
index 6fe5c0f9fb..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/fopen.c
+++ /dev/null
@@ -1,527 +0,0 @@
-/*****************************************************************************
- *
- * This example source code introduces a c library buffered I/O interface to
- * URL reads it supports fopen(), fread(), fgets(), feof(), fclose(),
- * rewind(). Supported functions have identical prototypes to their normal c
- * lib namesakes and are preceaded by url_ .
- *
- * Using this code you can replace your program's fopen() with url_fopen()
- * and fread() with url_fread() and it become possible to read remote streams
- * instead of (only) local files. Local files (ie those that can be directly
- * fopened) will drop back to using the underlying clib implementations
- *
- * See the main() function at the bottom that shows an app that retrives from a
- * specified url using fgets() and fread() and saves as two output files.
- *
- * Copyright (c) 2003 Simtec Electronics
- *
- * Re-implemented by Vincent Sanders <vince@kyllikki.org> with extensive
- * reference to original curl example code
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This example requires libcurl 7.9.7 or later.
- */
-
-#include <stdio.h>
-#include <string.h>
-#ifndef WIN32
-# include <sys/time.h>
-#endif
-#include <stdlib.h>
-#include <errno.h>
-
-#include <curl/curl.h>
-
-enum fcurl_type_e {
- CFTYPE_NONE=0,
- CFTYPE_FILE=1,
- CFTYPE_CURL=2
-};
-
-struct fcurl_data
-{
- enum fcurl_type_e type; /* type of handle */
- union {
- CURL *curl;
- FILE *file;
- } handle; /* handle */
-
- char *buffer; /* buffer to store cached data*/
- size_t buffer_len; /* currently allocated buffers length */
- size_t buffer_pos; /* end of data in buffer*/
- int still_running; /* Is background url fetch still in progress */
-};
-
-typedef struct fcurl_data URL_FILE;
-
-/* exported functions */
-URL_FILE *url_fopen(const char *url,const char *operation);
-int url_fclose(URL_FILE *file);
-int url_feof(URL_FILE *file);
-size_t url_fread(void *ptr, size_t size, size_t nmemb, URL_FILE *file);
-char * url_fgets(char *ptr, size_t size, URL_FILE *file);
-void url_rewind(URL_FILE *file);
-
-/* we use a global one for convenience */
-CURLM *multi_handle;
-
-/* curl calls this routine to get more data */
-static size_t write_callback(char *buffer,
- size_t size,
- size_t nitems,
- void *userp)
-{
- char *newbuff;
- size_t rembuff;
-
- URL_FILE *url = (URL_FILE *)userp;
- size *= nitems;
-
- rembuff=url->buffer_len - url->buffer_pos; /* remaining space in buffer */
-
- if(size > rembuff) {
- /* not enough space in buffer */
- newbuff=realloc(url->buffer,url->buffer_len + (size - rembuff));
- if(newbuff==NULL) {
- fprintf(stderr,"callback buffer grow failed\n");
- size=rembuff;
- }
- else {
- /* realloc suceeded increase buffer size*/
- url->buffer_len+=size - rembuff;
- url->buffer=newbuff;
- }
- }
-
- memcpy(&url->buffer[url->buffer_pos], buffer, size);
- url->buffer_pos += size;
-
- return size;
-}
-
-/* use to attempt to fill the read buffer up to requested number of bytes */
-static int fill_buffer(URL_FILE *file, size_t want)
-{
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- struct timeval timeout;
- int rc;
-
- /* only attempt to fill buffer if transactions still running and buffer
- * doesnt exceed required size already
- */
- if((!file->still_running) || (file->buffer_pos > want))
- return 0;
-
- /* attempt to fill buffer */
- do {
- int maxfd = -1;
- long curl_timeo = -1;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* set a suitable timeout to fail on */
- timeout.tv_sec = 60; /* 1 minute */
- timeout.tv_usec = 0;
-
- curl_multi_timeout(multi_handle, &curl_timeo);
- if(curl_timeo >= 0) {
- timeout.tv_sec = curl_timeo / 1000;
- if(timeout.tv_sec > 1)
- timeout.tv_sec = 1;
- else
- timeout.tv_usec = (curl_timeo % 1000) * 1000;
- }
-
- /* get file descriptors from the transfers */
- curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
-
- /* In a real-world program you OF COURSE check the return code of the
- function calls. On success, the value of maxfd is guaranteed to be
- greater or equal than -1. We call select(maxfd + 1, ...), specially
- in case of (maxfd == -1), we call select(0, ...), which is basically
- equal to sleep. */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
-
- case 0:
- default:
- /* timeout or readable/writable sockets */
- curl_multi_perform(multi_handle, &file->still_running);
- break;
- }
- } while(file->still_running && (file->buffer_pos < want));
- return 1;
-}
-
-/* use to remove want bytes from the front of a files buffer */
-static int use_buffer(URL_FILE *file,int want)
-{
- /* sort out buffer */
- if((file->buffer_pos - want) <=0) {
- /* ditch buffer - write will recreate */
- if(file->buffer)
- free(file->buffer);
-
- file->buffer=NULL;
- file->buffer_pos=0;
- file->buffer_len=0;
- }
- else {
- /* move rest down make it available for later */
- memmove(file->buffer,
- &file->buffer[want],
- (file->buffer_pos - want));
-
- file->buffer_pos -= want;
- }
- return 0;
-}
-
-URL_FILE *url_fopen(const char *url,const char *operation)
-{
- /* this code could check for URLs or types in the 'url' and
- basicly use the real fopen() for standard files */
-
- URL_FILE *file;
- (void)operation;
-
- file = malloc(sizeof(URL_FILE));
- if(!file)
- return NULL;
-
- memset(file, 0, sizeof(URL_FILE));
-
- if((file->handle.file=fopen(url,operation)))
- file->type = CFTYPE_FILE; /* marked as URL */
-
- else {
- file->type = CFTYPE_CURL; /* marked as URL */
- file->handle.curl = curl_easy_init();
-
- curl_easy_setopt(file->handle.curl, CURLOPT_URL, url);
- curl_easy_setopt(file->handle.curl, CURLOPT_WRITEDATA, file);
- curl_easy_setopt(file->handle.curl, CURLOPT_VERBOSE, 0L);
- curl_easy_setopt(file->handle.curl, CURLOPT_WRITEFUNCTION, write_callback);
-
- if(!multi_handle)
- multi_handle = curl_multi_init();
-
- curl_multi_add_handle(multi_handle, file->handle.curl);
-
- /* lets start the fetch */
- curl_multi_perform(multi_handle, &file->still_running);
-
- if((file->buffer_pos == 0) && (!file->still_running)) {
- /* if still_running is 0 now, we should return NULL */
-
- /* make sure the easy handle is not in the multi handle anymore */
- curl_multi_remove_handle(multi_handle, file->handle.curl);
-
- /* cleanup */
- curl_easy_cleanup(file->handle.curl);
-
- free(file);
-
- file = NULL;
- }
- }
- return file;
-}
-
-int url_fclose(URL_FILE *file)
-{
- int ret=0;/* default is good return */
-
- switch(file->type) {
- case CFTYPE_FILE:
- ret=fclose(file->handle.file); /* passthrough */
- break;
-
- case CFTYPE_CURL:
- /* make sure the easy handle is not in the multi handle anymore */
- curl_multi_remove_handle(multi_handle, file->handle.curl);
-
- /* cleanup */
- curl_easy_cleanup(file->handle.curl);
- break;
-
- default: /* unknown or supported type - oh dear */
- ret=EOF;
- errno=EBADF;
- break;
- }
-
- if(file->buffer)
- free(file->buffer);/* free any allocated buffer space */
-
- free(file);
-
- return ret;
-}
-
-int url_feof(URL_FILE *file)
-{
- int ret=0;
-
- switch(file->type) {
- case CFTYPE_FILE:
- ret=feof(file->handle.file);
- break;
-
- case CFTYPE_CURL:
- if((file->buffer_pos == 0) && (!file->still_running))
- ret = 1;
- break;
-
- default: /* unknown or supported type - oh dear */
- ret=-1;
- errno=EBADF;
- break;
- }
- return ret;
-}
-
-size_t url_fread(void *ptr, size_t size, size_t nmemb, URL_FILE *file)
-{
- size_t want;
-
- switch(file->type) {
- case CFTYPE_FILE:
- want=fread(ptr,size,nmemb,file->handle.file);
- break;
-
- case CFTYPE_CURL:
- want = nmemb * size;
-
- fill_buffer(file,want);
-
- /* check if theres data in the buffer - if not fill_buffer()
- * either errored or EOF */
- if(!file->buffer_pos)
- return 0;
-
- /* ensure only available data is considered */
- if(file->buffer_pos < want)
- want = file->buffer_pos;
-
- /* xfer data to caller */
- memcpy(ptr, file->buffer, want);
-
- use_buffer(file,want);
-
- want = want / size; /* number of items */
- break;
-
- default: /* unknown or supported type - oh dear */
- want=0;
- errno=EBADF;
- break;
-
- }
- return want;
-}
-
-char *url_fgets(char *ptr, size_t size, URL_FILE *file)
-{
- size_t want = size - 1;/* always need to leave room for zero termination */
- size_t loop;
-
- switch(file->type) {
- case CFTYPE_FILE:
- ptr = fgets(ptr,size,file->handle.file);
- break;
-
- case CFTYPE_CURL:
- fill_buffer(file,want);
-
- /* check if theres data in the buffer - if not fill either errored or
- * EOF */
- if(!file->buffer_pos)
- return NULL;
-
- /* ensure only available data is considered */
- if(file->buffer_pos < want)
- want = file->buffer_pos;
-
- /*buffer contains data */
- /* look for newline or eof */
- for(loop=0;loop < want;loop++) {
- if(file->buffer[loop] == '\n') {
- want=loop+1;/* include newline */
- break;
- }
- }
-
- /* xfer data to caller */
- memcpy(ptr, file->buffer, want);
- ptr[want]=0;/* allways null terminate */
-
- use_buffer(file,want);
-
- break;
-
- default: /* unknown or supported type - oh dear */
- ptr=NULL;
- errno=EBADF;
- break;
- }
-
- return ptr;/*success */
-}
-
-void url_rewind(URL_FILE *file)
-{
- switch(file->type) {
- case CFTYPE_FILE:
- rewind(file->handle.file); /* passthrough */
- break;
-
- case CFTYPE_CURL:
- /* halt transaction */
- curl_multi_remove_handle(multi_handle, file->handle.curl);
-
- /* restart */
- curl_multi_add_handle(multi_handle, file->handle.curl);
-
- /* ditch buffer - write will recreate - resets stream pos*/
- if(file->buffer)
- free(file->buffer);
-
- file->buffer=NULL;
- file->buffer_pos=0;
- file->buffer_len=0;
-
- break;
-
- default: /* unknown or supported type - oh dear */
- break;
- }
-}
-
-/* Small main program to retrive from a url using fgets and fread saving the
- * output to two test files (note the fgets method will corrupt binary files if
- * they contain 0 chars */
-int main(int argc, char *argv[])
-{
- URL_FILE *handle;
- FILE *outf;
-
- int nread;
- char buffer[256];
- const char *url;
-
- if(argc < 2)
- url="http://192.168.7.3/testfile";/* default to testurl */
- else
- url=argv[1];/* use passed url */
-
- /* copy from url line by line with fgets */
- outf=fopen("fgets.test","w+");
- if(!outf) {
- perror("couldn't open fgets output file\n");
- return 1;
- }
-
- handle = url_fopen(url, "r");
- if(!handle) {
- printf("couldn't url_fopen() %s\n", url);
- fclose(outf);
- return 2;
- }
-
- while(!url_feof(handle)) {
- url_fgets(buffer,sizeof(buffer),handle);
- fwrite(buffer,1,strlen(buffer),outf);
- }
-
- url_fclose(handle);
-
- fclose(outf);
-
-
- /* Copy from url with fread */
- outf=fopen("fread.test","w+");
- if(!outf) {
- perror("couldn't open fread output file\n");
- return 1;
- }
-
- handle = url_fopen("testfile", "r");
- if(!handle) {
- printf("couldn't url_fopen() testfile\n");
- fclose(outf);
- return 2;
- }
-
- do {
- nread = url_fread(buffer, 1,sizeof(buffer), handle);
- fwrite(buffer,1,nread,outf);
- } while(nread);
-
- url_fclose(handle);
-
- fclose(outf);
-
-
- /* Test rewind */
- outf=fopen("rewind.test","w+");
- if(!outf) {
- perror("couldn't open fread output file\n");
- return 1;
- }
-
- handle = url_fopen("testfile", "r");
- if(!handle) {
- printf("couldn't url_fopen() testfile\n");
- fclose(outf);
- return 2;
- }
-
- nread = url_fread(buffer, 1,sizeof(buffer), handle);
- fwrite(buffer,1,nread,outf);
- url_rewind(handle);
-
- buffer[0]='\n';
- fwrite(buffer,1,1,outf);
-
- nread = url_fread(buffer, 1,sizeof(buffer), handle);
- fwrite(buffer,1,nread,outf);
-
-
- url_fclose(handle);
-
- fclose(outf);
-
-
- return 0;/* all done */
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ftp-wildcard.c b/plugins/FTPFileYM/curl/docs/examples/ftp-wildcard.c
deleted file mode 100644
index 5a2a10311b..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ftp-wildcard.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <curl/curl.h>
-#include <stdio.h>
-
-struct callback_data {
- FILE *output;
-};
-
-static long file_is_comming(struct curl_fileinfo *finfo,
- struct callback_data *data,
- int remains);
-
-static long file_is_downloaded(struct callback_data *data);
-
-static size_t write_it(char *buff, size_t size, size_t nmemb,
- void *cb_data);
-
-int main(int argc, char **argv)
-{
- int rc = CURLE_OK;
-
- /* curl easy handle */
- CURL *handle;
-
- /* help data */
- struct callback_data data = { 0 };
-
- /* global initialization */
- rc = curl_global_init(CURL_GLOBAL_ALL);
- if(rc)
- return rc;
-
- /* initialization of easy handle */
- handle = curl_easy_init();
- if(!handle) {
- curl_global_cleanup();
- return CURLE_OUT_OF_MEMORY;
- }
-
- /* turn on wildcard matching */
- curl_easy_setopt(handle, CURLOPT_WILDCARDMATCH, 1L);
-
- /* callback is called before download of concrete file started */
- curl_easy_setopt(handle, CURLOPT_CHUNK_BGN_FUNCTION, file_is_comming);
-
- /* callback is called after data from the file have been transferred */
- curl_easy_setopt(handle, CURLOPT_CHUNK_END_FUNCTION, file_is_downloaded);
-
- /* this callback will write contents into files */
- curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_it);
-
- /* put transfer data into callbacks */
- curl_easy_setopt(handle, CURLOPT_CHUNK_DATA, &data);
- curl_easy_setopt(handle, CURLOPT_WRITEDATA, &data);
-
- /* curl_easy_setopt(handle, CURLOPT_VERBOSE, 1L); */
-
- /* set an URL containing wildcard pattern (only in the last part) */
- if(argc == 2)
- curl_easy_setopt(handle, CURLOPT_URL, argv[1]);
- else
- curl_easy_setopt(handle, CURLOPT_URL, "ftp://example.com/test/*");
-
- /* and start transfer! */
- rc = curl_easy_perform(handle);
-
- curl_easy_cleanup(handle);
- curl_global_cleanup();
- return rc;
-}
-
-static long file_is_comming(struct curl_fileinfo *finfo,
- struct callback_data *data,
- int remains)
-{
- printf("%3d %40s %10luB ", remains, finfo->filename,
- (unsigned long)finfo->size);
-
- switch(finfo->filetype) {
- case CURLFILETYPE_DIRECTORY:
- printf(" DIR\n");
- break;
- case CURLFILETYPE_FILE:
- printf("FILE ");
- break;
- default:
- printf("OTHER\n");
- break;
- }
-
- if(finfo->filetype == CURLFILETYPE_FILE) {
- /* do not transfer files >= 50B */
- if(finfo->size > 50) {
- printf("SKIPPED\n");
- return CURL_CHUNK_BGN_FUNC_SKIP;
- }
-
- data->output = fopen(finfo->filename, "w");
- if(!data->output) {
- return CURL_CHUNK_BGN_FUNC_FAIL;
- }
- }
-
- return CURL_CHUNK_BGN_FUNC_OK;
-}
-
-static long file_is_downloaded(struct callback_data *data)
-{
- if(data->output) {
- printf("DOWNLOADED\n");
- fclose(data->output);
- data->output = 0x0;
- }
- return CURL_CHUNK_END_FUNC_OK;
-}
-
-static size_t write_it(char *buff, size_t size, size_t nmemb,
- void *cb_data)
-{
- struct callback_data *data = cb_data;
- size_t written = 0;
- if(data->output)
- written = fwrite(buff, size, nmemb, data->output);
- else
- /* listing output */
- written = fwrite(buff, size, nmemb, stdout);
- return written;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ftpget.c b/plugins/FTPFileYM/curl/docs/examples/ftpget.c
deleted file mode 100644
index bcb42bb302..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ftpget.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-
-#include <curl/curl.h>
-
-/*
- * This is an example showing how to get a single file from an FTP server.
- * It delays the actual destination file creation until the first write
- * callback so that it won't create an empty file in case the remote file
- * doesn't exist or something else fails.
- */
-
-struct FtpFile {
- const char *filename;
- FILE *stream;
-};
-
-static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
-{
- struct FtpFile *out=(struct FtpFile *)stream;
- if(out && !out->stream) {
- /* open file for writing */
- out->stream=fopen(out->filename, "wb");
- if(!out->stream)
- return -1; /* failure, can't open file to write */
- }
- return fwrite(buffer, size, nmemb, out->stream);
-}
-
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct FtpFile ftpfile={
- "curl.tar.gz", /* name to store the file as if succesful */
- NULL
- };
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(curl) {
- /*
- * You better replace the URL with one that works!
- */
- curl_easy_setopt(curl, CURLOPT_URL,
- "ftp://ftp.example.com/pub/www/utilities/curl/curl-7.9.2.tar.gz");
- /* Define our callback to get called when there's data to be written */
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);
- /* Set a pointer to our struct to pass to the callback */
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile);
-
- /* Switch on full protocol/debug output */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
-
- if(CURLE_OK != res) {
- /* we failed */
- fprintf(stderr, "curl told us %d\n", res);
- }
- }
-
- if(ftpfile.stream)
- fclose(ftpfile.stream); /* close the local file */
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ftpgetinfo.c b/plugins/FTPFileYM/curl/docs/examples/ftpgetinfo.c
deleted file mode 100644
index dfdcf78b7c..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ftpgetinfo.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <string.h>
-
-#include <curl/curl.h>
-
-/*
- * This is an example showing how to check a single file's size and mtime
- * from an FTP server.
- */
-
-static size_t throw_away(void *ptr, size_t size, size_t nmemb, void *data)
-{
- (void)ptr;
- (void)data;
- /* we are not interested in the headers itself,
- so we only return the size we would have saved ... */
- return (size_t)(size * nmemb);
-}
-
-int main(void)
-{
- char ftpurl[] = "ftp://ftp.example.com/gnu/binutils/binutils-2.19.1.tar.bz2";
- CURL *curl;
- CURLcode res;
- long filetime = -1;
- double filesize = 0.0;
- const char *filename = strrchr(ftpurl, '/') + 1;
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, ftpurl);
- /* No download if the file */
- curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
- /* Ask for filetime */
- curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
- /* No header output: TODO 14.1 http-style HEAD output for ftp */
- curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, throw_away);
- curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
- /* Switch on full protocol/debug output */
- /* curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); */
-
- res = curl_easy_perform(curl);
-
- if(CURLE_OK == res) {
- /* http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html */
- res = curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime);
- if((CURLE_OK == res) && (filetime >= 0)) {
- time_t file_time = (time_t)filetime;
- printf("filetime %s: %s", filename, ctime(&file_time));
- }
- res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &filesize);
- if((CURLE_OK == res) && (filesize>0.0))
- printf("filesize %s: %0.0f bytes\n", filename, filesize);
- } else {
- /* we failed */
- fprintf(stderr, "curl told us %d\n", res);
- }
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ftpgetresp.c b/plugins/FTPFileYM/curl/docs/examples/ftpgetresp.c
deleted file mode 100644
index db96a3a13b..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ftpgetresp.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-
-#include <curl/curl.h>
-
-/*
- * Similar to ftpget.c but this also stores the received response-lines
- * in a separate file using our own callback!
- *
- * This functionality was introduced in libcurl 7.9.3.
- */
-
-static size_t
-write_response(void *ptr, size_t size, size_t nmemb, void *data)
-{
- FILE *writehere = (FILE *)data;
- return fwrite(ptr, size, nmemb, writehere);
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- FILE *ftpfile;
- FILE *respfile;
-
- /* local file name to store the file as */
- ftpfile = fopen("ftp-list", "wb"); /* b is binary, needed on win32 */
-
- /* local file name to store the FTP server's response lines in */
- respfile = fopen("ftp-responses", "wb"); /* b is binary, needed on win32 */
-
- curl = curl_easy_init();
- if(curl) {
- /* Get a file listing from sunet */
- curl_easy_setopt(curl, CURLOPT_URL, "ftp://ftp.example.com/");
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, ftpfile);
- /* If you intend to use this on windows with a libcurl DLL, you must use
- CURLOPT_WRITEFUNCTION as well */
- curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_response);
- curl_easy_setopt(curl, CURLOPT_WRITEHEADER, respfile);
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- fclose(ftpfile); /* close the local file */
- fclose(respfile); /* close the response file */
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ftpsget.c b/plugins/FTPFileYM/curl/docs/examples/ftpsget.c
deleted file mode 100644
index 0cfe32024a..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ftpsget.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-
-#include <stdio.h>
-
-#include <curl/curl.h>
-
-/*
- * This is an example showing how to get a single file from an FTPS server.
- * It delays the actual destination file creation until the first write
- * callback so that it won't create an empty file in case the remote file
- * doesn't exist or something else fails.
- */
-
-struct FtpFile {
- const char *filename;
- FILE *stream;
-};
-
-static size_t my_fwrite(void *buffer, size_t size, size_t nmemb,
- void *stream)
-{
- struct FtpFile *out=(struct FtpFile *)stream;
- if(out && !out->stream) {
- /* open file for writing */
- out->stream=fopen(out->filename, "wb");
- if(!out->stream)
- return -1; /* failure, can't open file to write */
- }
- return fwrite(buffer, size, nmemb, out->stream);
-}
-
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct FtpFile ftpfile={
- "yourfile.bin", /* name to store the file as if succesful */
- NULL
- };
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(curl) {
- /*
- * You better replace the URL with one that works! Note that we use an
- * FTP:// URL with standard explicit FTPS. You can also do FTPS:// URLs if
- * you want to do the rarer kind of transfers: implicit.
- */
- curl_easy_setopt(curl, CURLOPT_URL,
- "ftp://user@server/home/user/file.txt");
- /* Define our callback to get called when there's data to be written */
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);
- /* Set a pointer to our struct to pass to the callback */
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile);
-
- /* We activate SSL and we require it for both control and data */
- curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);
-
- /* Switch on full protocol/debug output */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
-
- if(CURLE_OK != res) {
- /* we failed */
- fprintf(stderr, "curl told us %d\n", res);
- }
- }
-
- if(ftpfile.stream)
- fclose(ftpfile.stream); /* close the local file */
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ftpupload.c b/plugins/FTPFileYM/curl/docs/examples/ftpupload.c
deleted file mode 100644
index e79f8d842a..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ftpupload.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <string.h>
-
-#include <curl/curl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#ifdef WIN32
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-/*
- * This example shows an FTP upload, with a rename of the file just after
- * a successful upload.
- *
- * Example based on source code provided by Erick Nuwendam. Thanks!
- */
-
-#define LOCAL_FILE "/tmp/uploadthis.txt"
-#define UPLOAD_FILE_AS "while-uploading.txt"
-#define REMOTE_URL "ftp://example.com/" UPLOAD_FILE_AS
-#define RENAME_FILE_TO "renamed-and-fine.txt"
-
-/* NOTE: if you want this example to work on Windows with libcurl as a
- DLL, you MUST also provide a read callback with CURLOPT_READFUNCTION.
- Failing to do so will give you a crash since a DLL may not use the
- variable's memory when passed in to it from an app like this. */
-static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- curl_off_t nread;
- /* in real-world cases, this would probably get this data differently
- as this fread() stuff is exactly what the library already would do
- by default internally */
- size_t retcode = fread(ptr, size, nmemb, stream);
-
- nread = (curl_off_t)retcode;
-
- fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T
- " bytes from file\n", nread);
- return retcode;
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- FILE *hd_src;
- struct stat file_info;
- curl_off_t fsize;
-
- struct curl_slist *headerlist=NULL;
- static const char buf_1 [] = "RNFR " UPLOAD_FILE_AS;
- static const char buf_2 [] = "RNTO " RENAME_FILE_TO;
-
- /* get the file size of the local file */
- if(stat(LOCAL_FILE, &file_info)) {
- printf("Couldnt open '%s': %s\n", LOCAL_FILE, strerror(errno));
- return 1;
- }
- fsize = (curl_off_t)file_info.st_size;
-
- printf("Local file size: %" CURL_FORMAT_CURL_OFF_T " bytes.\n", fsize);
-
- /* get a FILE * of the same file */
- hd_src = fopen(LOCAL_FILE, "rb");
-
- /* In windows, this will init the winsock stuff */
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* get a curl handle */
- curl = curl_easy_init();
- if(curl) {
- /* build a list of commands to pass to libcurl */
- headerlist = curl_slist_append(headerlist, buf_1);
- headerlist = curl_slist_append(headerlist, buf_2);
-
- /* we want to use our own read function */
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
-
- /* enable uploading */
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-
- /* specify target */
- curl_easy_setopt(curl,CURLOPT_URL, REMOTE_URL);
-
- /* pass in that last of FTP commands to run after the transfer */
- curl_easy_setopt(curl, CURLOPT_POSTQUOTE, headerlist);
-
- /* now specify which file to upload */
- curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
-
- /* Set the size of the file to upload (optional). If you give a *_LARGE
- option you MUST make sure that the type of the passed-in argument is a
- curl_off_t. If you use CURLOPT_INFILESIZE (without _LARGE) you must
- make sure that to pass in a type 'long' argument. */
- curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE,
- (curl_off_t)fsize);
-
- /* Now run off and do what you've been told! */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* clean up the FTP commands list */
- curl_slist_free_all (headerlist);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- fclose(hd_src); /* close the local file */
-
- curl_global_cleanup();
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ftpuploadresume.c b/plugins/FTPFileYM/curl/docs/examples/ftpuploadresume.c
deleted file mode 100644
index 55b8986c7c..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ftpuploadresume.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Upload to FTP, resuming failed transfers
- *
- * Compile for MinGW like this:
- * gcc -Wall -pedantic -std=c99 ftpuploadwithresume.c -o ftpuploadresume.exe
- * -lcurl -lmsvcr70
- *
- * Written by Philip Bock
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-#include <curl/curl.h>
-
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
-# error _snscanf requires MSVC 7.0 or later.
-#endif
-
-/* The MinGW headers are missing a few Win32 function definitions,
- you shouldn't need this if you use VC++ */
-#if defined(__MINGW32__) && !defined(__MINGW64__)
-int __cdecl _snscanf(const char * input, size_t length, const char * format, ...);
-#endif
-
-
-/* parse headers for Content-Length */
-size_t getcontentlengthfunc(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- int r;
- long len = 0;
-
- /* _snscanf() is Win32 specific */
- r = _snscanf(ptr, size * nmemb, "Content-Length: %ld\n", &len);
-
- if (r) /* Microsoft: we don't read the specs */
- *((long *) stream) = len;
-
- return size * nmemb;
-}
-
-/* discard downloaded data */
-size_t discardfunc(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- return size * nmemb;
-}
-
-/* read data to upload */
-size_t readfunc(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- FILE *f = stream;
- size_t n;
-
- if (ferror(f))
- return CURL_READFUNC_ABORT;
-
- n = fread(ptr, size, nmemb, f) * size;
-
- return n;
-}
-
-
-int upload(CURL *curlhandle, const char * remotepath, const char * localpath,
- long timeout, long tries)
-{
- FILE *f;
- long uploaded_len = 0;
- CURLcode r = CURLE_GOT_NOTHING;
- int c;
-
- f = fopen(localpath, "rb");
- if (f == NULL) {
- perror(NULL);
- return 0;
- }
-
- curl_easy_setopt(curlhandle, CURLOPT_UPLOAD, 1L);
-
- curl_easy_setopt(curlhandle, CURLOPT_URL, remotepath);
-
- if (timeout)
- curl_easy_setopt(curlhandle, CURLOPT_FTP_RESPONSE_TIMEOUT, timeout);
-
- curl_easy_setopt(curlhandle, CURLOPT_HEADERFUNCTION, getcontentlengthfunc);
- curl_easy_setopt(curlhandle, CURLOPT_HEADERDATA, &uploaded_len);
-
- curl_easy_setopt(curlhandle, CURLOPT_WRITEFUNCTION, discardfunc);
-
- curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc);
- curl_easy_setopt(curlhandle, CURLOPT_READDATA, f);
-
- curl_easy_setopt(curlhandle, CURLOPT_FTPPORT, "-"); /* disable passive mode */
- curl_easy_setopt(curlhandle, CURLOPT_FTP_CREATE_MISSING_DIRS, 1L);
-
- curl_easy_setopt(curlhandle, CURLOPT_VERBOSE, 1L);
-
- for (c = 0; (r != CURLE_OK) && (c < tries); c++) {
- /* are we resuming? */
- if (c) { /* yes */
- /* determine the length of the file already written */
-
- /*
- * With NOBODY and NOHEADER, libcurl will issue a SIZE
- * command, but the only way to retrieve the result is
- * to parse the returned Content-Length header. Thus,
- * getcontentlengthfunc(). We need discardfunc() above
- * because HEADER will dump the headers to stdout
- * without it.
- */
- curl_easy_setopt(curlhandle, CURLOPT_NOBODY, 1L);
- curl_easy_setopt(curlhandle, CURLOPT_HEADER, 1L);
-
- r = curl_easy_perform(curlhandle);
- if (r != CURLE_OK)
- continue;
-
- curl_easy_setopt(curlhandle, CURLOPT_NOBODY, 0L);
- curl_easy_setopt(curlhandle, CURLOPT_HEADER, 0L);
-
- fseek(f, uploaded_len, SEEK_SET);
-
- curl_easy_setopt(curlhandle, CURLOPT_APPEND, 1L);
- }
- else { /* no */
- curl_easy_setopt(curlhandle, CURLOPT_APPEND, 0L);
- }
-
- r = curl_easy_perform(curlhandle);
- }
-
- fclose(f);
-
- if (r == CURLE_OK)
- return 1;
- else {
- fprintf(stderr, "%s\n", curl_easy_strerror(r));
- return 0;
- }
-}
-
-int main(int c, char **argv)
-{
- CURL *curlhandle = NULL;
-
- curl_global_init(CURL_GLOBAL_ALL);
- curlhandle = curl_easy_init();
-
- upload(curlhandle, "ftp://user:pass@example.com/path/file", "C:\\file", 0, 3);
-
- curl_easy_cleanup(curlhandle);
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/getinfo.c b/plugins/FTPFileYM/curl/docs/examples/getinfo.c
deleted file mode 100644
index acbe1e1af8..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/getinfo.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- /* http://curl.haxx.se/libcurl/c/curl_easy_init.html */
- curl = curl_easy_init();
- if(curl) {
- /* http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTURL */
- curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/");
- /* http://curl.haxx.se/libcurl/c/curl_easy_perform.html */
- res = curl_easy_perform(curl);
-
- if(CURLE_OK == res) {
- char *ct;
- /* ask for the content-type */
- /* http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html */
- res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
-
- if((CURLE_OK == res) && ct)
- printf("We received Content-Type: %s\n", ct);
- }
-
- /* always cleanup */
- /* http://curl.haxx.se/libcurl/c/curl_easy_cleanup.html */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/getinmemory.c b/plugins/FTPFileYM/curl/docs/examples/getinmemory.c
deleted file mode 100644
index 78e6deb102..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/getinmemory.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example source code to show how the callback function can be used to
- * download data into a chunk of memory instead of storing it in a file.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <curl/curl.h>
-
-struct MemoryStruct {
- char *memory;
- size_t size;
-};
-
-
-static size_t
-WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp)
-{
- size_t realsize = size * nmemb;
- struct MemoryStruct *mem = (struct MemoryStruct *)userp;
-
- mem->memory = realloc(mem->memory, mem->size + realsize + 1);
- if (mem->memory == NULL) {
- /* out of memory! */
- printf("not enough memory (realloc returned NULL)\n");
- exit(EXIT_FAILURE);
- }
-
- memcpy(&(mem->memory[mem->size]), contents, realsize);
- mem->size += realsize;
- mem->memory[mem->size] = 0;
-
- return realsize;
-}
-
-
-int main(void)
-{
- CURL *curl_handle;
-
- struct MemoryStruct chunk;
-
- chunk.memory = malloc(1); /* will be grown as needed by the realloc above */
- chunk.size = 0; /* no data at this point */
-
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* init the curl session */
- curl_handle = curl_easy_init();
-
- /* specify URL to get */
- curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.example.com/");
-
- /* send all data to this function */
- curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
-
- /* we pass our 'chunk' struct to the callback function */
- curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk);
-
- /* some servers don't like requests that are made without a user-agent
- field, so we provide one */
- curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0");
-
- /* get it! */
- curl_easy_perform(curl_handle);
-
- /* cleanup curl stuff */
- curl_easy_cleanup(curl_handle);
-
- /*
- * Now, our chunk.memory points to a memory block that is chunk.size
- * bytes big and contains the remote file.
- *
- * Do something nice with it!
- *
- * You should be aware of the fact that at this point we might have an
- * allocated data block, and nothing has yet deallocated that data. So when
- * you're done with it, you should free() it as a nice application.
- */
-
- printf("%lu bytes retrieved\n", (long)chunk.size);
-
- if(chunk.memory)
- free(chunk.memory);
-
- /* we're done with libcurl, so clean it up */
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/ghiper.c b/plugins/FTPFileYM/curl/docs/examples/ghiper.c
deleted file mode 100644
index 9a3f46d3fa..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/ghiper.c
+++ /dev/null
@@ -1,452 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example application source code using the multi socket interface to
- * download many files at once.
- *
- * Written by Jeff Pohlmeyer
-
-Requires glib-2.x and a (POSIX?) system that has mkfifo().
-
-This is an adaptation of libcurl's "hipev.c" and libevent's "event-test.c"
-sample programs, adapted to use glib's g_io_channel in place of libevent.
-
-When running, the program creates the named pipe "hiper.fifo"
-
-Whenever there is input into the fifo, the program reads the input as a list
-of URL's and creates some new easy handles to fetch each URL via the
-curl_multi "hiper" API.
-
-
-Thus, you can try a single URL:
- % echo http://www.yahoo.com > hiper.fifo
-
-Or a whole bunch of them:
- % cat my-url-list > hiper.fifo
-
-The fifo buffer is handled almost instantly, so you can even add more URL's
-while the previous requests are still being downloaded.
-
-This is purely a demo app, all retrieved data is simply discarded by the write
-callback.
-
-*/
-
-
-#include <glib.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <curl/curl.h>
-
-
-#define MSG_OUT g_print /* Change to "g_error" to write to stderr */
-#define SHOW_VERBOSE 0 /* Set to non-zero for libcurl messages */
-#define SHOW_PROGRESS 0 /* Set to non-zero to enable progress callback */
-
-
-
-/* Global information, common to all connections */
-typedef struct _GlobalInfo {
- CURLM *multi;
- guint timer_event;
- int still_running;
-} GlobalInfo;
-
-
-
-/* Information associated with a specific easy handle */
-typedef struct _ConnInfo {
- CURL *easy;
- char *url;
- GlobalInfo *global;
- char error[CURL_ERROR_SIZE];
-} ConnInfo;
-
-
-/* Information associated with a specific socket */
-typedef struct _SockInfo {
- curl_socket_t sockfd;
- CURL *easy;
- int action;
- long timeout;
- GIOChannel *ch;
- guint ev;
- GlobalInfo *global;
-} SockInfo;
-
-
-
-
-/* Die if we get a bad CURLMcode somewhere */
-static void mcode_or_die(const char *where, CURLMcode code) {
- if ( CURLM_OK != code ) {
- const char *s;
- switch (code) {
- case CURLM_CALL_MULTI_PERFORM: s="CURLM_CALL_MULTI_PERFORM"; break;
- case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break;
- case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break;
- case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break;
- case CURLM_INTERNAL_ERROR: s="CURLM_INTERNAL_ERROR"; break;
- case CURLM_BAD_SOCKET: s="CURLM_BAD_SOCKET"; break;
- case CURLM_UNKNOWN_OPTION: s="CURLM_UNKNOWN_OPTION"; break;
- case CURLM_LAST: s="CURLM_LAST"; break;
- default: s="CURLM_unknown";
- }
- MSG_OUT("ERROR: %s returns %s\n", where, s);
- exit(code);
- }
-}
-
-
-
-/* Check for completed transfers, and remove their easy handles */
-static void check_multi_info(GlobalInfo *g)
-{
- char *eff_url;
- CURLMsg *msg;
- int msgs_left;
- ConnInfo *conn;
- CURL *easy;
- CURLcode res;
-
- MSG_OUT("REMAINING: %d\n", g->still_running);
- while ((msg = curl_multi_info_read(g->multi, &msgs_left))) {
- if (msg->msg == CURLMSG_DONE) {
- easy = msg->easy_handle;
- res = msg->data.result;
- curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn);
- curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url);
- MSG_OUT("DONE: %s => (%d) %s\n", eff_url, res, conn->error);
- curl_multi_remove_handle(g->multi, easy);
- free(conn->url);
- curl_easy_cleanup(easy);
- free(conn);
- }
- }
-}
-
-
-
-/* Called by glib when our timeout expires */
-static gboolean timer_cb(gpointer data)
-{
- GlobalInfo *g = (GlobalInfo *)data;
- CURLMcode rc;
-
- rc = curl_multi_socket_action(g->multi,
- CURL_SOCKET_TIMEOUT, 0, &g->still_running);
- mcode_or_die("timer_cb: curl_multi_socket_action", rc);
- check_multi_info(g);
- return FALSE;
-}
-
-
-
-/* Update the event timer after curl_multi library calls */
-static int update_timeout_cb(CURLM *multi, long timeout_ms, void *userp)
-{
- struct timeval timeout;
- GlobalInfo *g=(GlobalInfo *)userp;
- timeout.tv_sec = timeout_ms/1000;
- timeout.tv_usec = (timeout_ms%1000)*1000;
-
- MSG_OUT("*** update_timeout_cb %ld => %ld:%ld ***\n",
- timeout_ms, timeout.tv_sec, timeout.tv_usec);
-
- g->timer_event = g_timeout_add(timeout_ms, timer_cb, g);
- return 0;
-}
-
-
-
-
-/* Called by glib when we get action on a multi socket */
-static gboolean event_cb(GIOChannel *ch, GIOCondition condition, gpointer data)
-{
- GlobalInfo *g = (GlobalInfo*) data;
- CURLMcode rc;
- int fd=g_io_channel_unix_get_fd(ch);
-
- int action =
- (condition & G_IO_IN ? CURL_CSELECT_IN : 0) |
- (condition & G_IO_OUT ? CURL_CSELECT_OUT : 0);
-
- rc = curl_multi_socket_action(g->multi, fd, action, &g->still_running);
- mcode_or_die("event_cb: curl_multi_socket_action", rc);
-
- check_multi_info(g);
- if(g->still_running) {
- return TRUE;
- } else {
- MSG_OUT("last transfer done, kill timeout\n");
- if (g->timer_event) { g_source_remove(g->timer_event); }
- return FALSE;
- }
-}
-
-
-
-/* Clean up the SockInfo structure */
-static void remsock(SockInfo *f)
-{
- if (!f) { return; }
- if (f->ev) { g_source_remove(f->ev); }
- g_free(f);
-}
-
-
-
-/* Assign information to a SockInfo structure */
-static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
-{
- GIOCondition kind =
- (act&CURL_POLL_IN?G_IO_IN:0)|(act&CURL_POLL_OUT?G_IO_OUT:0);
-
- f->sockfd = s;
- f->action = act;
- f->easy = e;
- if (f->ev) { g_source_remove(f->ev); }
- f->ev=g_io_add_watch(f->ch, kind, event_cb,g);
-
-}
-
-
-
-/* Initialize a new SockInfo structure */
-static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g)
-{
- SockInfo *fdp = g_malloc0(sizeof(SockInfo));
-
- fdp->global = g;
- fdp->ch=g_io_channel_unix_new(s);
- setsock(fdp, s, easy, action, g);
- curl_multi_assign(g->multi, s, fdp);
-}
-
-
-
-/* CURLMOPT_SOCKETFUNCTION */
-static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
-{
- GlobalInfo *g = (GlobalInfo*) cbp;
- SockInfo *fdp = (SockInfo*) sockp;
- static const char *whatstr[]={ "none", "IN", "OUT", "INOUT", "REMOVE" };
-
- MSG_OUT("socket callback: s=%d e=%p what=%s ", s, e, whatstr[what]);
- if (what == CURL_POLL_REMOVE) {
- MSG_OUT("\n");
- remsock(fdp);
- } else {
- if (!fdp) {
- MSG_OUT("Adding data: %s%s\n",
- what&CURL_POLL_IN?"READ":"",
- what&CURL_POLL_OUT?"WRITE":"" );
- addsock(s, e, what, g);
- }
- else {
- MSG_OUT(
- "Changing action from %d to %d\n", fdp->action, what);
- setsock(fdp, s, e, what, g);
- }
- }
- return 0;
-}
-
-
-
-/* CURLOPT_WRITEFUNCTION */
-static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
-{
- size_t realsize = size * nmemb;
- ConnInfo *conn = (ConnInfo*) data;
- (void)ptr;
- (void)conn;
- return realsize;
-}
-
-
-
-/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb (void *p, double dltotal, double dlnow, double ult, double uln)
-{
- ConnInfo *conn = (ConnInfo *)p;
- MSG_OUT("Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal);
- return 0;
-}
-
-
-
-/* Create a new easy handle, and add it to the global curl_multi */
-static void new_conn(char *url, GlobalInfo *g )
-{
- ConnInfo *conn;
- CURLMcode rc;
-
- conn = g_malloc0(sizeof(ConnInfo));
-
- conn->error[0]='\0';
-
- conn->easy = curl_easy_init();
- if (!conn->easy) {
- MSG_OUT("curl_easy_init() failed, exiting!\n");
- exit(2);
- }
- conn->global = g;
- conn->url = g_strdup(url);
- curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, &conn);
- curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, (long)SHOW_VERBOSE);
- curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error);
- curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn);
- curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, SHOW_PROGRESS?0L:1L);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn);
- curl_easy_setopt(conn->easy, CURLOPT_FOLLOWLOCATION, 1L);
- curl_easy_setopt(conn->easy, CURLOPT_CONNECTTIMEOUT, 30L);
- curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_LIMIT, 1L);
- curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_TIME, 30L);
-
- MSG_OUT("Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url);
- rc =curl_multi_add_handle(g->multi, conn->easy);
- mcode_or_die("new_conn: curl_multi_add_handle", rc);
-
- /* note that the add_handle() will set a time-out to trigger very soon so
- that the necessary socket_action() call will be called by this app */
-}
-
-
-/* This gets called by glib whenever data is received from the fifo */
-static gboolean fifo_cb (GIOChannel *ch, GIOCondition condition, gpointer data)
-{
- #define BUF_SIZE 1024
- gsize len, tp;
- gchar *buf, *tmp, *all=NULL;
- GIOStatus rv;
-
- do {
- GError *err=NULL;
- rv = g_io_channel_read_line (ch,&buf,&len,&tp,&err);
- if ( buf ) {
- if (tp) { buf[tp]='\0'; }
- new_conn(buf,(GlobalInfo*)data);
- g_free(buf);
- } else {
- buf = g_malloc(BUF_SIZE+1);
- while (TRUE) {
- buf[BUF_SIZE]='\0';
- g_io_channel_read_chars(ch,buf,BUF_SIZE,&len,&err);
- if (len) {
- buf[len]='\0';
- if (all) {
- tmp=all;
- all=g_strdup_printf("%s%s", tmp, buf);
- g_free(tmp);
- } else {
- all = g_strdup(buf);
- }
- } else {
- break;
- }
- }
- if (all) {
- new_conn(all,(GlobalInfo*)data);
- g_free(all);
- }
- g_free(buf);
- }
- if ( err ) {
- g_error("fifo_cb: %s", err->message);
- g_free(err);
- break;
- }
- } while ( (len) && (rv == G_IO_STATUS_NORMAL) );
- return TRUE;
-}
-
-
-
-
-int init_fifo(void)
-{
- struct stat st;
- const char *fifo = "hiper.fifo";
- int socket;
-
- if (lstat (fifo, &st) == 0) {
- if ((st.st_mode & S_IFMT) == S_IFREG) {
- errno = EEXIST;
- perror("lstat");
- exit (1);
- }
- }
-
- unlink (fifo);
- if (mkfifo (fifo, 0600) == -1) {
- perror("mkfifo");
- exit (1);
- }
-
- socket = open (fifo, O_RDWR | O_NONBLOCK, 0);
-
- if (socket == -1) {
- perror("open");
- exit (1);
- }
- MSG_OUT("Now, pipe some URL's into > %s\n", fifo);
-
- return socket;
-
-}
-
-
-
-
-int main(int argc, char **argv)
-{
- GlobalInfo *g;
- CURLMcode rc;
- GMainLoop*gmain;
- int fd;
- GIOChannel* ch;
- g=g_malloc0(sizeof(GlobalInfo));
-
- fd=init_fifo();
- ch=g_io_channel_unix_new(fd);
- g_io_add_watch(ch,G_IO_IN,fifo_cb,g);
- gmain=g_main_loop_new(NULL,FALSE);
- g->multi = curl_multi_init();
- curl_multi_setopt(g->multi, CURLMOPT_SOCKETFUNCTION, sock_cb);
- curl_multi_setopt(g->multi, CURLMOPT_SOCKETDATA, g);
- curl_multi_setopt(g->multi, CURLMOPT_TIMERFUNCTION, update_timeout_cb);
- curl_multi_setopt(g->multi, CURLMOPT_TIMERDATA, g);
-
- /* we don't call any curl_multi_socket*() function yet as we have no handles
- added! */
-
- g_main_loop_run(gmain);
- curl_multi_cleanup(g->multi);
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/hiperfifo.c b/plugins/FTPFileYM/curl/docs/examples/hiperfifo.c
deleted file mode 100644
index 6036643b16..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/hiperfifo.c
+++ /dev/null
@@ -1,418 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example application source code using the multi socket interface to
- download many files at once.
-
-Written by Jeff Pohlmeyer
-
-Requires libevent and a (POSIX?) system that has mkfifo().
-
-This is an adaptation of libcurl's "hipev.c" and libevent's "event-test.c"
-sample programs.
-
-When running, the program creates the named pipe "hiper.fifo"
-
-Whenever there is input into the fifo, the program reads the input as a list
-of URL's and creates some new easy handles to fetch each URL via the
-curl_multi "hiper" API.
-
-
-Thus, you can try a single URL:
- % echo http://www.yahoo.com > hiper.fifo
-
-Or a whole bunch of them:
- % cat my-url-list > hiper.fifo
-
-The fifo buffer is handled almost instantly, so you can even add more URL's
-while the previous requests are still being downloaded.
-
-Note:
- For the sake of simplicity, URL length is limited to 1023 char's !
-
-This is purely a demo app, all retrieved data is simply discarded by the write
-callback.
-
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <time.h>
-#include <unistd.h>
-#include <sys/poll.h>
-#include <curl/curl.h>
-#include <event.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-
-
-#define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */
-
-
-/* Global information, common to all connections */
-typedef struct _GlobalInfo {
- struct event fifo_event;
- struct event timer_event;
- CURLM *multi;
- int still_running;
- FILE* input;
-} GlobalInfo;
-
-
-/* Information associated with a specific easy handle */
-typedef struct _ConnInfo {
- CURL *easy;
- char *url;
- GlobalInfo *global;
- char error[CURL_ERROR_SIZE];
-} ConnInfo;
-
-
-/* Information associated with a specific socket */
-typedef struct _SockInfo {
- curl_socket_t sockfd;
- CURL *easy;
- int action;
- long timeout;
- struct event ev;
- int evset;
- GlobalInfo *global;
-} SockInfo;
-
-
-
-/* Update the event timer after curl_multi library calls */
-static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
-{
- struct timeval timeout;
- (void)multi; /* unused */
-
- timeout.tv_sec = timeout_ms/1000;
- timeout.tv_usec = (timeout_ms%1000)*1000;
- fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms);
- evtimer_add(&g->timer_event, &timeout);
- return 0;
-}
-
-/* Die if we get a bad CURLMcode somewhere */
-static void mcode_or_die(const char *where, CURLMcode code)
-{
- if ( CURLM_OK != code ) {
- const char *s;
- switch (code) {
- case CURLM_CALL_MULTI_PERFORM: s="CURLM_CALL_MULTI_PERFORM"; break;
- case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break;
- case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break;
- case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break;
- case CURLM_INTERNAL_ERROR: s="CURLM_INTERNAL_ERROR"; break;
- case CURLM_UNKNOWN_OPTION: s="CURLM_UNKNOWN_OPTION"; break;
- case CURLM_LAST: s="CURLM_LAST"; break;
- default: s="CURLM_unknown";
- break;
- case CURLM_BAD_SOCKET: s="CURLM_BAD_SOCKET";
- fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
- /* ignore this error */
- return;
- }
- fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
- exit(code);
- }
-}
-
-
-
-/* Check for completed transfers, and remove their easy handles */
-static void check_multi_info(GlobalInfo *g)
-{
- char *eff_url;
- CURLMsg *msg;
- int msgs_left;
- ConnInfo *conn;
- CURL *easy;
- CURLcode res;
-
- fprintf(MSG_OUT, "REMAINING: %d\n", g->still_running);
- while ((msg = curl_multi_info_read(g->multi, &msgs_left))) {
- if (msg->msg == CURLMSG_DONE) {
- easy = msg->easy_handle;
- res = msg->data.result;
- curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn);
- curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url);
- fprintf(MSG_OUT, "DONE: %s => (%d) %s\n", eff_url, res, conn->error);
- curl_multi_remove_handle(g->multi, easy);
- free(conn->url);
- curl_easy_cleanup(easy);
- free(conn);
- }
- }
-}
-
-
-
-/* Called by libevent when we get action on a multi socket */
-static void event_cb(int fd, short kind, void *userp)
-{
- GlobalInfo *g = (GlobalInfo*) userp;
- CURLMcode rc;
-
- int action =
- (kind & EV_READ ? CURL_CSELECT_IN : 0) |
- (kind & EV_WRITE ? CURL_CSELECT_OUT : 0);
-
- rc = curl_multi_socket_action(g->multi, fd, action, &g->still_running);
- mcode_or_die("event_cb: curl_multi_socket_action", rc);
-
- check_multi_info(g);
- if ( g->still_running <= 0 ) {
- fprintf(MSG_OUT, "last transfer done, kill timeout\n");
- if (evtimer_pending(&g->timer_event, NULL)) {
- evtimer_del(&g->timer_event);
- }
- }
-}
-
-
-
-/* Called by libevent when our timeout expires */
-static void timer_cb(int fd, short kind, void *userp)
-{
- GlobalInfo *g = (GlobalInfo *)userp;
- CURLMcode rc;
- (void)fd;
- (void)kind;
-
- rc = curl_multi_socket_action(g->multi,
- CURL_SOCKET_TIMEOUT, 0, &g->still_running);
- mcode_or_die("timer_cb: curl_multi_socket_action", rc);
- check_multi_info(g);
-}
-
-
-
-/* Clean up the SockInfo structure */
-static void remsock(SockInfo *f)
-{
- if (f) {
- if (f->evset)
- event_del(&f->ev);
- free(f);
- }
-}
-
-
-
-/* Assign information to a SockInfo structure */
-static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
-{
- int kind =
- (act&CURL_POLL_IN?EV_READ:0)|(act&CURL_POLL_OUT?EV_WRITE:0)|EV_PERSIST;
-
- f->sockfd = s;
- f->action = act;
- f->easy = e;
- if (f->evset)
- event_del(&f->ev);
- event_set(&f->ev, f->sockfd, kind, event_cb, g);
- f->evset=1;
- event_add(&f->ev, NULL);
-}
-
-
-
-/* Initialize a new SockInfo structure */
-static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g) {
- SockInfo *fdp = calloc(sizeof(SockInfo), 1);
-
- fdp->global = g;
- setsock(fdp, s, easy, action, g);
- curl_multi_assign(g->multi, s, fdp);
-}
-
-/* CURLMOPT_SOCKETFUNCTION */
-static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
-{
- GlobalInfo *g = (GlobalInfo*) cbp;
- SockInfo *fdp = (SockInfo*) sockp;
- const char *whatstr[]={ "none", "IN", "OUT", "INOUT", "REMOVE" };
-
- fprintf(MSG_OUT,
- "socket callback: s=%d e=%p what=%s ", s, e, whatstr[what]);
- if (what == CURL_POLL_REMOVE) {
- fprintf(MSG_OUT, "\n");
- remsock(fdp);
- }
- else {
- if (!fdp) {
- fprintf(MSG_OUT, "Adding data: %s\n", whatstr[what]);
- addsock(s, e, what, g);
- }
- else {
- fprintf(MSG_OUT,
- "Changing action from %s to %s\n",
- whatstr[fdp->action], whatstr[what]);
- setsock(fdp, s, e, what, g);
- }
- }
- return 0;
-}
-
-
-
-/* CURLOPT_WRITEFUNCTION */
-static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
-{
- size_t realsize = size * nmemb;
- ConnInfo *conn = (ConnInfo*) data;
- (void)ptr;
- (void)conn;
- return realsize;
-}
-
-
-/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb (void *p, double dltotal, double dlnow, double ult,
- double uln)
-{
- ConnInfo *conn = (ConnInfo *)p;
- (void)ult;
- (void)uln;
-
- fprintf(MSG_OUT, "Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal);
- return 0;
-}
-
-
-/* Create a new easy handle, and add it to the global curl_multi */
-static void new_conn(char *url, GlobalInfo *g )
-{
- ConnInfo *conn;
- CURLMcode rc;
-
- conn = calloc(1, sizeof(ConnInfo));
- memset(conn, 0, sizeof(ConnInfo));
- conn->error[0]='\0';
-
- conn->easy = curl_easy_init();
- if (!conn->easy) {
- fprintf(MSG_OUT, "curl_easy_init() failed, exiting!\n");
- exit(2);
- }
- conn->global = g;
- conn->url = strdup(url);
- curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb);
- curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, &conn);
- curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error);
- curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn);
- curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, 0L);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb);
- curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn);
- fprintf(MSG_OUT,
- "Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url);
- rc = curl_multi_add_handle(g->multi, conn->easy);
- mcode_or_die("new_conn: curl_multi_add_handle", rc);
-
- /* note that the add_handle() will set a time-out to trigger very soon so
- that the necessary socket_action() call will be called by this app */
-}
-
-/* This gets called whenever data is received from the fifo */
-static void fifo_cb(int fd, short event, void *arg)
-{
- char s[1024];
- long int rv=0;
- int n=0;
- GlobalInfo *g = (GlobalInfo *)arg;
- (void)fd; /* unused */
- (void)event; /* unused */
-
- do {
- s[0]='\0';
- rv=fscanf(g->input, "%1023s%n", s, &n);
- s[n]='\0';
- if ( n && s[0] ) {
- new_conn(s,arg); /* if we read a URL, go get it! */
- } else break;
- } while ( rv != EOF);
-}
-
-/* Create a named pipe and tell libevent to monitor it */
-static int init_fifo (GlobalInfo *g)
-{
- struct stat st;
- static const char *fifo = "hiper.fifo";
- curl_socket_t sockfd;
-
- fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo);
- if (lstat (fifo, &st) == 0) {
- if ((st.st_mode & S_IFMT) == S_IFREG) {
- errno = EEXIST;
- perror("lstat");
- exit (1);
- }
- }
- unlink(fifo);
- if (mkfifo (fifo, 0600) == -1) {
- perror("mkfifo");
- exit (1);
- }
- sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
- if (sockfd == -1) {
- perror("open");
- exit (1);
- }
- g->input = fdopen(sockfd, "r");
-
- fprintf(MSG_OUT, "Now, pipe some URL's into > %s\n", fifo);
- event_set(&g->fifo_event, sockfd, EV_READ | EV_PERSIST, fifo_cb, g);
- event_add(&g->fifo_event, NULL);
- return (0);
-}
-
-int main(int argc, char **argv)
-{
- GlobalInfo g;
- (void)argc;
- (void)argv;
-
- memset(&g, 0, sizeof(GlobalInfo));
- event_init();
- init_fifo(&g);
- g.multi = curl_multi_init();
- evtimer_set(&g.timer_event, timer_cb, &g);
-
- /* setup the generic multi interface options we want */
- curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb);
- curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g);
- curl_multi_setopt(g.multi, CURLMOPT_TIMERFUNCTION, multi_timer_cb);
- curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g);
-
- /* we don't call any curl_multi_socket*() function yet as we have no handles
- added! */
-
- event_dispatch();
- curl_multi_cleanup(g.multi);
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/href_extractor.c b/plugins/FTPFileYM/curl/docs/examples/href_extractor.c
deleted file mode 100644
index 4b307a29e4..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/href_extractor.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-
-/*
- * This example uses the "Streaming HTML parser" to extract the href pieces in
- * a streaming manner from a downloaded HTML. Kindly donated by Michał
- * Kowalczyk.
- *
- * The parser is found at
- * http://code.google.com/p/htmlstreamparser/
- */
-
-#include <stdio.h>
-#include <curl/curl.h>
-#include <htmlstreamparser.h>
-
-
-static size_t write_callback(void *buffer, size_t size, size_t nmemb,
- void *hsp)
-{
- size_t realsize = size * nmemb, p;
- for (p = 0; p < realsize; p++) {
- html_parser_char_parse(hsp, ((char *)buffer)[p]);
- if (html_parser_cmp_tag(hsp, "a", 1))
- if (html_parser_cmp_attr(hsp, "href", 4))
- if (html_parser_is_in(hsp, HTML_VALUE_ENDED)) {
- html_parser_val(hsp)[html_parser_val_length(hsp)] = '\0';
- printf("%s\n", html_parser_val(hsp));
- }
- }
- return realsize;
-}
-
-int main(int argc, char *argv[])
-{
- char tag[1], attr[4], val[128];
- CURL *curl;
- HTMLSTREAMPARSER *hsp;
-
- if (argc != 2) {
- printf("Usage: %s URL\n", argv[0]);
- return EXIT_FAILURE;
- }
-
- curl = curl_easy_init();
-
- hsp = html_parser_init();
-
- html_parser_set_tag_to_lower(hsp, 1);
- html_parser_set_attr_to_lower(hsp, 1);
- html_parser_set_tag_buffer(hsp, tag, sizeof(tag));
- html_parser_set_attr_buffer(hsp, attr, sizeof(attr));
- html_parser_set_val_buffer(hsp, val, sizeof(val)-1);
-
- curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, hsp);
- curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
-
- curl_easy_perform(curl);
-
- curl_easy_cleanup(curl);
-
- html_parser_cleanup(hsp);
-
- return EXIT_SUCCESS;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/htmltidy.c b/plugins/FTPFileYM/curl/docs/examples/htmltidy.c
deleted file mode 100644
index a36e331bfe..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/htmltidy.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Download a document and use libtidy to parse the HTML.
- * Written by Jeff Pohlmeyer
- *
- * LibTidy => http://tidy.sourceforge.net
- *
- * gcc -Wall -I/usr/local/include tidycurl.c -lcurl -ltidy -o tidycurl
- *
- */
-
-#include <stdio.h>
-#include <tidy/tidy.h>
-#include <tidy/buffio.h>
-#include <curl/curl.h>
-
-/* curl write callback, to fill tidy's input buffer... */
-uint write_cb(char *in, uint size, uint nmemb, TidyBuffer *out)
-{
- uint r;
- r = size * nmemb;
- tidyBufAppend( out, in, r );
- return(r);
-}
-
-/* Traverse the document tree */
-void dumpNode(TidyDoc doc, TidyNode tnod, int indent )
-{
- TidyNode child;
- for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) )
- {
- ctmbstr name = tidyNodeGetName( child );
- if ( name )
- {
- /* if it has a name, then it's an HTML tag ... */
- TidyAttr attr;
- printf( "%*.*s%s ", indent, indent, "<", name);
- /* walk the attribute list */
- for ( attr=tidyAttrFirst(child); attr; attr=tidyAttrNext(attr) ) {
- printf(tidyAttrName(attr));
- tidyAttrValue(attr)?printf("=\"%s\" ",
- tidyAttrValue(attr)):printf(" ");
- }
- printf( ">\n");
- }
- else {
- /* if it doesn't have a name, then it's probably text, cdata, etc... */
- TidyBuffer buf;
- tidyBufInit(&buf);
- tidyNodeGetText(doc, child, &buf);
- printf("%*.*s\n", indent, indent, buf.bp?(char *)buf.bp:"");
- tidyBufFree(&buf);
- }
- dumpNode( doc, child, indent + 4 ); /* recursive */
- }
-}
-
-
-int main(int argc, char **argv )
-{
- CURL *curl;
- char curl_errbuf[CURL_ERROR_SIZE];
- TidyDoc tdoc;
- TidyBuffer docbuf = {0};
- TidyBuffer tidy_errbuf = {0};
- int err;
- if ( argc == 2) {
- curl = curl_easy_init();
- curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
- curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, curl_errbuf);
- curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_cb);
-
- tdoc = tidyCreate();
- tidyOptSetBool(tdoc, TidyForceOutput, yes); /* try harder */
- tidyOptSetInt(tdoc, TidyWrapLen, 4096);
- tidySetErrorBuffer( tdoc, &tidy_errbuf );
- tidyBufInit(&docbuf);
-
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, &docbuf);
- err=curl_easy_perform(curl);
- if ( !err ) {
- err = tidyParseBuffer(tdoc, &docbuf); /* parse the input */
- if ( err >= 0 ) {
- err = tidyCleanAndRepair(tdoc); /* fix any problems */
- if ( err >= 0 ) {
- err = tidyRunDiagnostics(tdoc); /* load tidy error buffer */
- if ( err >= 0 ) {
- dumpNode( tdoc, tidyGetRoot(tdoc), 0 ); /* walk the tree */
- fprintf(stderr, "%s\n", tidy_errbuf.bp); /* show errors */
- }
- }
- }
- }
- else
- fprintf(stderr, "%s\n", curl_errbuf);
-
- /* clean-up */
- curl_easy_cleanup(curl);
- tidyBufFree(&docbuf);
- tidyBufFree(&tidy_errbuf);
- tidyRelease(tdoc);
- return(err);
-
- }
- else
- printf( "usage: %s <url>\n", argv[0] );
-
- return(0);
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/htmltitle.cpp b/plugins/FTPFileYM/curl/docs/examples/htmltitle.cpp
deleted file mode 100644
index 55a7935acc..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/htmltitle.cpp
+++ /dev/null
@@ -1,313 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-// Get a web page, parse it with libxml.
-//
-// Written by Lars Nilsson
-//
-// GNU C++ compile command line suggestion (edit paths accordingly):
-//
-// g++ -Wall -I/opt/curl/include -I/opt/libxml/include/libxml2 htmltitle.cc \
-// -o htmltitle -L/opt/curl/lib -L/opt/libxml/lib -lcurl -lxml2
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <string>
-#include <curl/curl.h>
-#include <libxml/HTMLparser.h>
-
-//
-// Case-insensitive string comparison
-//
-
-#ifdef _MSC_VER
-#define COMPARE(a, b) (!stricmp((a), (b)))
-#else
-#define COMPARE(a, b) (!strcasecmp((a), (b)))
-#endif
-
-//
-// libxml callback context structure
-//
-
-struct Context
-{
- Context(): addTitle(false) { }
-
- bool addTitle;
- std::string title;
-};
-
-//
-// libcurl variables for error strings and returned data
-
-static char errorBuffer[CURL_ERROR_SIZE];
-static std::string buffer;
-
-//
-// libcurl write callback function
-//
-
-static int writer(char *data, size_t size, size_t nmemb,
- std::string *writerData)
-{
- if (writerData == NULL)
- return 0;
-
- writerData->append(data, size*nmemb);
-
- return size * nmemb;
-}
-
-//
-// libcurl connection initialization
-//
-
-static bool init(CURL *&conn, char *url)
-{
- CURLcode code;
-
- conn = curl_easy_init();
-
- if (conn == NULL)
- {
- fprintf(stderr, "Failed to create CURL connection\n");
-
- exit(EXIT_FAILURE);
- }
-
- code = curl_easy_setopt(conn, CURLOPT_ERRORBUFFER, errorBuffer);
- if (code != CURLE_OK)
- {
- fprintf(stderr, "Failed to set error buffer [%d]\n", code);
-
- return false;
- }
-
- code = curl_easy_setopt(conn, CURLOPT_URL, url);
- if (code != CURLE_OK)
- {
- fprintf(stderr, "Failed to set URL [%s]\n", errorBuffer);
-
- return false;
- }
-
- code = curl_easy_setopt(conn, CURLOPT_FOLLOWLOCATION, 1L);
- if (code != CURLE_OK)
- {
- fprintf(stderr, "Failed to set redirect option [%s]\n", errorBuffer);
-
- return false;
- }
-
- code = curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, writer);
- if (code != CURLE_OK)
- {
- fprintf(stderr, "Failed to set writer [%s]\n", errorBuffer);
-
- return false;
- }
-
- code = curl_easy_setopt(conn, CURLOPT_WRITEDATA, &buffer);
- if (code != CURLE_OK)
- {
- fprintf(stderr, "Failed to set write data [%s]\n", errorBuffer);
-
- return false;
- }
-
- return true;
-}
-
-//
-// libxml start element callback function
-//
-
-static void StartElement(void *voidContext,
- const xmlChar *name,
- const xmlChar **attributes)
-{
- Context *context = (Context *)voidContext;
-
- if (COMPARE((char *)name, "TITLE"))
- {
- context->title = "";
- context->addTitle = true;
- }
- (void) attributes;
-}
-
-//
-// libxml end element callback function
-//
-
-static void EndElement(void *voidContext,
- const xmlChar *name)
-{
- Context *context = (Context *)voidContext;
-
- if (COMPARE((char *)name, "TITLE"))
- context->addTitle = false;
-}
-
-//
-// Text handling helper function
-//
-
-static void handleCharacters(Context *context,
- const xmlChar *chars,
- int length)
-{
- if (context->addTitle)
- context->title.append((char *)chars, length);
-}
-
-//
-// libxml PCDATA callback function
-//
-
-static void Characters(void *voidContext,
- const xmlChar *chars,
- int length)
-{
- Context *context = (Context *)voidContext;
-
- handleCharacters(context, chars, length);
-}
-
-//
-// libxml CDATA callback function
-//
-
-static void cdata(void *voidContext,
- const xmlChar *chars,
- int length)
-{
- Context *context = (Context *)voidContext;
-
- handleCharacters(context, chars, length);
-}
-
-//
-// libxml SAX callback structure
-//
-
-static htmlSAXHandler saxHandler =
-{
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- StartElement,
- EndElement,
- NULL,
- Characters,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- cdata,
- NULL
-};
-
-//
-// Parse given (assumed to be) HTML text and return the title
-//
-
-static void parseHtml(const std::string &html,
- std::string &title)
-{
- htmlParserCtxtPtr ctxt;
- Context context;
-
- ctxt = htmlCreatePushParserCtxt(&saxHandler, &context, "", 0, "",
- XML_CHAR_ENCODING_NONE);
-
- htmlParseChunk(ctxt, html.c_str(), html.size(), 0);
- htmlParseChunk(ctxt, "", 0, 1);
-
- htmlFreeParserCtxt(ctxt);
-
- title = context.title;
-}
-
-int main(int argc, char *argv[])
-{
- CURL *conn = NULL;
- CURLcode code;
- std::string title;
-
- // Ensure one argument is given
-
- if (argc != 2)
- {
- fprintf(stderr, "Usage: %s <url>\n", argv[0]);
-
- exit(EXIT_FAILURE);
- }
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- // Initialize CURL connection
-
- if (!init(conn, argv[1]))
- {
- fprintf(stderr, "Connection initializion failed\n");
-
- exit(EXIT_FAILURE);
- }
-
- // Retrieve content for the URL
-
- code = curl_easy_perform(conn);
- curl_easy_cleanup(conn);
-
- if (code != CURLE_OK)
- {
- fprintf(stderr, "Failed to get '%s' [%s]\n", argv[1], errorBuffer);
-
- exit(EXIT_FAILURE);
- }
-
- // Parse the (assumed) HTML code
-
- parseHtml(buffer, title);
-
- // Display the extracted title
-
- printf("Title: %s\n", title.c_str());
-
- return EXIT_SUCCESS;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/http-post.c b/plugins/FTPFileYM/curl/docs/examples/http-post.c
deleted file mode 100644
index f1975b1ec3..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/http-post.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- /* In windows, this will init the winsock stuff */
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* get a curl handle */
- curl = curl_easy_init();
- if(curl) {
- /* First set the URL that is about to receive our POST. This URL can
- just as well be a https:// URL if that is what should receive the
- data. */
- curl_easy_setopt(curl, CURLOPT_URL, "http://postit.example.com/moo.cgi");
- /* Now specify the POST data */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- curl_global_cleanup();
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/httpcustomheader.c b/plugins/FTPFileYM/curl/docs/examples/httpcustomheader.c
deleted file mode 100644
index 07ff95997f..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/httpcustomheader.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl = curl_easy_init();
- if(curl) {
- struct curl_slist *chunk = NULL;
-
- chunk = curl_slist_append(chunk, "Accept: moo");
- chunk = curl_slist_append(chunk, "Another: yes");
-
- /* request with the built-in Accept: */
- curl_easy_setopt(curl, CURLOPT_URL, "localhost");
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* redo request with our own custom Accept: */
- res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
-
- /* free the custom headers */
- curl_slist_free_all(chunk);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/httpput.c b/plugins/FTPFileYM/curl/docs/examples/httpput.c
deleted file mode 100644
index fbbca9448b..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/httpput.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include <curl/curl.h>
-
-/*
- * This example shows a HTTP PUT operation. PUTs a file given as a command
- * line argument to the URL also given on the command line.
- *
- * This example also uses its own read callback.
- *
- * Here's an article on how to setup a PUT handler for Apache:
- * http://www.apacheweek.com/features/put
- */
-
-static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- size_t retcode;
- curl_off_t nread;
-
- /* in real-world cases, this would probably get this data differently
- as this fread() stuff is exactly what the library already would do
- by default internally */
- retcode = fread(ptr, size, nmemb, stream);
-
- nread = (curl_off_t)retcode;
-
- fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T
- " bytes from file\n", nread);
-
- return retcode;
-}
-
-int main(int argc, char **argv)
-{
- CURL *curl;
- CURLcode res;
- FILE * hd_src ;
- int hd ;
- struct stat file_info;
-
- char *file;
- char *url;
-
- if(argc < 3)
- return 1;
-
- file= argv[1];
- url = argv[2];
-
- /* get the file size of the local file */
- hd = open(file, O_RDONLY) ;
- fstat(hd, &file_info);
- close(hd) ;
-
- /* get a FILE * of the same file, could also be made with
- fdopen() from the previous descriptor, but hey this is just
- an example! */
- hd_src = fopen(file, "rb");
-
- /* In windows, this will init the winsock stuff */
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* get a curl handle */
- curl = curl_easy_init();
- if(curl) {
- /* we want to use our own read function */
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
-
- /* enable uploading */
- curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-
- /* HTTP PUT please */
- curl_easy_setopt(curl, CURLOPT_PUT, 1L);
-
- /* specify target URL, and note that this URL should include a file
- name, not only a directory */
- curl_easy_setopt(curl, CURLOPT_URL, url);
-
- /* now specify which file to upload */
- curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
-
- /* provide the size of the upload, we specicially typecast the value
- to curl_off_t since we must be sure to use the correct data size */
- curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE,
- (curl_off_t)file_info.st_size);
-
- /* Now run off and do what you've been told! */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- fclose(hd_src); /* close the local file */
-
- curl_global_cleanup();
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/https.c b/plugins/FTPFileYM/curl/docs/examples/https.c
deleted file mode 100644
index bd9a33ba6d..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/https.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
-
-#ifdef SKIP_PEER_VERIFICATION
- /*
- * If you want to connect to a site who isn't using a certificate that is
- * signed by one of the certs in the CA bundle you have, you can skip the
- * verification of the server's certificate. This makes the connection
- * A LOT LESS SECURE.
- *
- * If you have a CA cert for the server stored someplace else than in the
- * default bundle, then the CURLOPT_CAPATH option might come handy for
- * you.
- */
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
-#endif
-
-#ifdef SKIP_HOSTNAME_VERIFICATION
- /*
- * If the site you're connecting to uses a different host name that what
- * they have mentioned in their server certificate's commonName (or
- * subjectAltName) fields, libcurl will refuse to connect. You can skip
- * this check, but this will make the connection less secure.
- */
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
-#endif
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/imap.c b/plugins/FTPFileYM/curl/docs/examples/imap.c
deleted file mode 100644
index ba07f022aa..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/imap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res = CURLE_OK;
-
- curl = curl_easy_init();
- if(curl) {
- /* Set username and password */
- curl_easy_setopt(curl, CURLOPT_USERPWD, "user:password");
-
- /* This will fetch the mailbox named "foobar" */
- curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/foobar");
-
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return (int)res;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/makefile.dj b/plugins/FTPFileYM/curl/docs/examples/makefile.dj
deleted file mode 100644
index c18ef8a708..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/makefile.dj
+++ /dev/null
@@ -1,60 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-###########################################################################
-#
-# Adapted for djgpp / Watt-32 / DOS by
-# Gisle Vanem <gvanem@broadpark.no>
-#
-
-TOPDIR = ../..
-
-include $(TOPDIR)/packages/DOS/common.dj
-
-CFLAGS += -DFALSE=0 -DTRUE=1
-
-LIBS = $(TOPDIR)/lib/libcurl.a
-
-ifeq ($(USE_SSL),1)
- LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a
-endif
-
-ifeq ($(USE_IDNA),1)
- LIBS += $(LIBIDN_ROOT)/lib/dj_obj/libidn.a -liconv
-endif
-
-LIBS += $(WATT32_ROOT)/lib/libwatt.a $(ZLIB_ROOT)/libz.a
-
-include Makefile.inc
-
-PROGRAMS = $(patsubst %,%.exe,$(check_PROGRAMS))
-
-all: $(PROGRAMS)
- @echo Welcome to libcurl example program
-
-%.exe: %.c
- $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
- @echo
-
-clean vclean realclean:
- - rm -f $(PROGRAMS) depend.dj
-
--include depend.dj
-
diff --git a/plugins/FTPFileYM/curl/docs/examples/multi-app.c b/plugins/FTPFileYM/curl/docs/examples/multi-app.c
deleted file mode 100644
index a5f71c5ac6..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/multi-app.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This is an example application source code using the multi interface. */
-
-#include <stdio.h>
-#include <string.h>
-
-/* somewhat unix-specific */
-#include <sys/time.h>
-#include <unistd.h>
-
-/* curl stuff */
-#include <curl/curl.h>
-
-/*
- * Download a HTTP file and upload an FTP file simultaneously.
- */
-
-#define HANDLECOUNT 2 /* Number of simultaneous transfers */
-#define HTTP_HANDLE 0 /* Index for the HTTP transfer */
-#define FTP_HANDLE 1 /* Index for the FTP transfer */
-
-int main(void)
-{
- CURL *handles[HANDLECOUNT];
- CURLM *multi_handle;
-
- int still_running; /* keep number of running handles */
- int i;
-
- CURLMsg *msg; /* for picking up messages with the transfer status */
- int msgs_left; /* how many messages are left */
-
- /* Allocate one CURL handle per transfer */
- for (i=0; i<HANDLECOUNT; i++)
- handles[i] = curl_easy_init();
-
- /* set the options (I left out a few, you'll get the point anyway) */
- curl_easy_setopt(handles[HTTP_HANDLE], CURLOPT_URL, "http://example.com");
-
- curl_easy_setopt(handles[FTP_HANDLE], CURLOPT_URL, "ftp://example.com");
- curl_easy_setopt(handles[FTP_HANDLE], CURLOPT_UPLOAD, 1L);
-
- /* init a multi stack */
- multi_handle = curl_multi_init();
-
- /* add the individual transfers */
- for (i=0; i<HANDLECOUNT; i++)
- curl_multi_add_handle(multi_handle, handles[i]);
-
- /* we start some action by calling perform right away */
- curl_multi_perform(multi_handle, &still_running);
-
- do {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd = -1;
-
- long curl_timeo = -1;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* set a suitable timeout to play around with */
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- curl_multi_timeout(multi_handle, &curl_timeo);
- if(curl_timeo >= 0) {
- timeout.tv_sec = curl_timeo / 1000;
- if(timeout.tv_sec > 1)
- timeout.tv_sec = 1;
- else
- timeout.tv_usec = (curl_timeo % 1000) * 1000;
- }
-
- /* get file descriptors from the transfers */
- curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
-
- /* In a real-world program you OF COURSE check the return code of the
- function calls. On success, the value of maxfd is guaranteed to be
- greater or equal than -1. We call select(maxfd + 1, ...), specially in
- case of (maxfd == -1), we call select(0, ...), which is basically equal
- to sleep. */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
- case 0: /* timeout */
- default: /* action */
- curl_multi_perform(multi_handle, &still_running);
- break;
- }
- } while(still_running);
-
- /* See how the transfers went */
- while ((msg = curl_multi_info_read(multi_handle, &msgs_left))) {
- if (msg->msg == CURLMSG_DONE) {
- int idx, found = 0;
-
- /* Find out which handle this message is about */
- for (idx=0; idx<HANDLECOUNT; idx++) {
- found = (msg->easy_handle == handles[idx]);
- if(found)
- break;
- }
-
- switch (idx) {
- case HTTP_HANDLE:
- printf("HTTP transfer completed with status %d\n", msg->data.result);
- break;
- case FTP_HANDLE:
- printf("FTP transfer completed with status %d\n", msg->data.result);
- break;
- }
- }
- }
-
- curl_multi_cleanup(multi_handle);
-
- /* Free the CURL handles */
- for (i=0; i<HANDLECOUNT; i++)
- curl_easy_cleanup(handles[i]);
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/multi-debugcallback.c b/plugins/FTPFileYM/curl/docs/examples/multi-debugcallback.c
deleted file mode 100644
index 8eedcee5b5..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/multi-debugcallback.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This is an example showing the multi interface and the debug callback. */
-
-#include <stdio.h>
-#include <string.h>
-
-/* somewhat unix-specific */
-#include <sys/time.h>
-#include <unistd.h>
-
-/* curl stuff */
-#include <curl/curl.h>
-
-typedef char bool;
-#define TRUE 1
-
-static
-void dump(const char *text,
- FILE *stream, unsigned char *ptr, size_t size,
- bool nohex)
-{
- size_t i;
- size_t c;
-
- unsigned int width=0x10;
-
- if(nohex)
- /* without the hex output, we can fit more on screen */
- width = 0x40;
-
- fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n",
- text, (long)size, (long)size);
-
- for(i=0; i<size; i+= width) {
-
- fprintf(stream, "%4.4lx: ", (long)i);
-
- if(!nohex) {
- /* hex not disabled, show it */
- for(c = 0; c < width; c++)
- if(i+c < size)
- fprintf(stream, "%02x ", ptr[i+c]);
- else
- fputs(" ", stream);
- }
-
- for(c = 0; (c < width) && (i+c < size); c++) {
- /* check for 0D0A; if found, skip past and start a new line of output */
- if (nohex && (i+c+1 < size) && ptr[i+c]==0x0D && ptr[i+c+1]==0x0A) {
- i+=(c+2-width);
- break;
- }
- fprintf(stream, "%c",
- (ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.');
- /* check again for 0D0A, to avoid an extra \n if it's at width */
- if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) {
- i+=(c+3-width);
- break;
- }
- }
- fputc('\n', stream); /* newline */
- }
- fflush(stream);
-}
-
-static
-int my_trace(CURL *handle, curl_infotype type,
- unsigned char *data, size_t size,
- void *userp)
-{
- const char *text;
-
- (void)userp;
- (void)handle; /* prevent compiler warning */
-
- switch (type) {
- case CURLINFO_TEXT:
- fprintf(stderr, "== Info: %s", data);
- default: /* in case a new one is introduced to shock us */
- return 0;
-
- case CURLINFO_HEADER_OUT:
- text = "=> Send header";
- break;
- case CURLINFO_DATA_OUT:
- text = "=> Send data";
- break;
- case CURLINFO_HEADER_IN:
- text = "<= Recv header";
- break;
- case CURLINFO_DATA_IN:
- text = "<= Recv data";
- break;
- }
-
- dump(text, stderr, data, size, TRUE);
- return 0;
-}
-
-/*
- * Simply download a HTTP file.
- */
-int main(void)
-{
- CURL *http_handle;
- CURLM *multi_handle;
-
- int still_running; /* keep number of running handles */
-
- http_handle = curl_easy_init();
-
- /* set the options (I left out a few, you'll get the point anyway) */
- curl_easy_setopt(http_handle, CURLOPT_URL, "http://www.example.com/");
-
- curl_easy_setopt(http_handle, CURLOPT_DEBUGFUNCTION, my_trace);
- curl_easy_setopt(http_handle, CURLOPT_VERBOSE, 1L);
-
- /* init a multi stack */
- multi_handle = curl_multi_init();
-
- /* add the individual transfers */
- curl_multi_add_handle(multi_handle, http_handle);
-
- /* we start some action by calling perform right away */
- curl_multi_perform(multi_handle, &still_running);
-
- do {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd = -1;
-
- long curl_timeo = -1;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* set a suitable timeout to play around with */
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- curl_multi_timeout(multi_handle, &curl_timeo);
- if(curl_timeo >= 0) {
- timeout.tv_sec = curl_timeo / 1000;
- if(timeout.tv_sec > 1)
- timeout.tv_sec = 1;
- else
- timeout.tv_usec = (curl_timeo % 1000) * 1000;
- }
-
- /* get file descriptors from the transfers */
- curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
-
- /* In a real-world program you OF COURSE check the return code of the
- function calls. On success, the value of maxfd is guaranteed to be
- greater or equal than -1. We call select(maxfd + 1, ...), specially in
- case of (maxfd == -1), we call select(0, ...), which is basically equal
- to sleep. */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- still_running = 0;
- printf("select() returns error, this is badness\n");
- break;
- case 0:
- default:
- /* timeout or readable/writable sockets */
- curl_multi_perform(multi_handle, &still_running);
- break;
- }
- } while(still_running);
-
- curl_multi_cleanup(multi_handle);
-
- curl_easy_cleanup(http_handle);
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/multi-double.c b/plugins/FTPFileYM/curl/docs/examples/multi-double.c
deleted file mode 100644
index 91422e6e2d..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/multi-double.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <string.h>
-
-/* somewhat unix-specific */
-#include <sys/time.h>
-#include <unistd.h>
-
-/* curl stuff */
-#include <curl/curl.h>
-
-/*
- * Simply download two HTTP files!
- */
-int main(void)
-{
- CURL *http_handle;
- CURL *http_handle2;
- CURLM *multi_handle;
-
- int still_running; /* keep number of running handles */
-
- http_handle = curl_easy_init();
- http_handle2 = curl_easy_init();
-
- /* set options */
- curl_easy_setopt(http_handle, CURLOPT_URL, "http://www.example.com/");
-
- /* set options */
- curl_easy_setopt(http_handle2, CURLOPT_URL, "http://localhost/");
-
- /* init a multi stack */
- multi_handle = curl_multi_init();
-
- /* add the individual transfers */
- curl_multi_add_handle(multi_handle, http_handle);
- curl_multi_add_handle(multi_handle, http_handle2);
-
- /* we start some action by calling perform right away */
- curl_multi_perform(multi_handle, &still_running);
-
- do {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd = -1;
-
- long curl_timeo = -1;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* set a suitable timeout to play around with */
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- curl_multi_timeout(multi_handle, &curl_timeo);
- if(curl_timeo >= 0) {
- timeout.tv_sec = curl_timeo / 1000;
- if(timeout.tv_sec > 1)
- timeout.tv_sec = 1;
- else
- timeout.tv_usec = (curl_timeo % 1000) * 1000;
- }
-
- /* get file descriptors from the transfers */
- curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
-
- /* In a real-world program you OF COURSE check the return code of the
- function calls. On success, the value of maxfd is guaranteed to be
- greater or equal than -1. We call select(maxfd + 1, ...), specially in
- case of (maxfd == -1), we call select(0, ...), which is basically equal
- to sleep. */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
- case 0:
- default:
- /* timeout or readable/writable sockets */
- curl_multi_perform(multi_handle, &still_running);
- break;
- }
- } while(still_running);
-
- curl_multi_cleanup(multi_handle);
-
- curl_easy_cleanup(http_handle);
- curl_easy_cleanup(http_handle2);
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/multi-post.c b/plugins/FTPFileYM/curl/docs/examples/multi-post.c
deleted file mode 100644
index 965a2c3f69..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/multi-post.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This is an example application source code using the multi interface
- * to do a multipart formpost without "blocking". */
-#include <stdio.h>
-#include <string.h>
-#include <sys/time.h>
-
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
-
- CURLM *multi_handle;
- int still_running;
-
- struct curl_httppost *formpost=NULL;
- struct curl_httppost *lastptr=NULL;
- struct curl_slist *headerlist=NULL;
- static const char buf[] = "Expect:";
-
- /* Fill in the file upload field. This makes libcurl load data from
- the given file name when curl_easy_perform() is called. */
- curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "sendfile",
- CURLFORM_FILE, "postit2.c",
- CURLFORM_END);
-
- /* Fill in the filename field */
- curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "filename",
- CURLFORM_COPYCONTENTS, "postit2.c",
- CURLFORM_END);
-
- /* Fill in the submit field too, even if this is rarely needed */
- curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "submit",
- CURLFORM_COPYCONTENTS, "send",
- CURLFORM_END);
-
- curl = curl_easy_init();
- multi_handle = curl_multi_init();
-
- /* initalize custom header list (stating that Expect: 100-continue is not
- wanted */
- headerlist = curl_slist_append(headerlist, buf);
- if(curl && multi_handle) {
-
- /* what URL that receives this POST */
- curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/upload.cgi");
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
- curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
-
- curl_multi_add_handle(multi_handle, curl);
-
- curl_multi_perform(multi_handle, &still_running);
-
- do {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd = -1;
-
- long curl_timeo = -1;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* set a suitable timeout to play around with */
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- curl_multi_timeout(multi_handle, &curl_timeo);
- if(curl_timeo >= 0) {
- timeout.tv_sec = curl_timeo / 1000;
- if(timeout.tv_sec > 1)
- timeout.tv_sec = 1;
- else
- timeout.tv_usec = (curl_timeo % 1000) * 1000;
- }
-
- /* get file descriptors from the transfers */
- curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
-
- /* In a real-world program you OF COURSE check the return code of the
- function calls. On success, the value of maxfd is guaranteed to be
- greater or equal than -1. We call select(maxfd + 1, ...), specially in
- case of (maxfd == -1), we call select(0, ...), which is basically equal
- to sleep. */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- break;
- case 0:
- default:
- /* timeout or readable/writable sockets */
- printf("perform!\n");
- curl_multi_perform(multi_handle, &still_running);
- printf("running: %d!\n", still_running);
- break;
- }
- } while(still_running);
-
- curl_multi_cleanup(multi_handle);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
-
- /* then cleanup the formpost chain */
- curl_formfree(formpost);
-
- /* free slist */
- curl_slist_free_all (headerlist);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/multi-single.c b/plugins/FTPFileYM/curl/docs/examples/multi-single.c
deleted file mode 100644
index aeda71419b..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/multi-single.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This is a very simple example using the multi interface. */
-
-#include <stdio.h>
-#include <string.h>
-
-/* somewhat unix-specific */
-#include <sys/time.h>
-#include <unistd.h>
-
-/* curl stuff */
-#include <curl/curl.h>
-
-/*
- * Simply download a HTTP file.
- */
-int main(void)
-{
- CURL *http_handle;
- CURLM *multi_handle;
-
- int still_running; /* keep number of running handles */
-
- http_handle = curl_easy_init();
-
- /* set the options (I left out a few, you'll get the point anyway) */
- curl_easy_setopt(http_handle, CURLOPT_URL, "http://www.example.com/");
-
- /* init a multi stack */
- multi_handle = curl_multi_init();
-
- /* add the individual transfers */
- curl_multi_add_handle(multi_handle, http_handle);
-
- /* we start some action by calling perform right away */
- curl_multi_perform(multi_handle, &still_running);
-
- do {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd = -1;
-
- long curl_timeo = -1;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* set a suitable timeout to play around with */
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- curl_multi_timeout(multi_handle, &curl_timeo);
- if(curl_timeo >= 0) {
- timeout.tv_sec = curl_timeo / 1000;
- if(timeout.tv_sec > 1)
- timeout.tv_sec = 1;
- else
- timeout.tv_usec = (curl_timeo % 1000) * 1000;
- }
-
- /* get file descriptors from the transfers */
- curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
-
- /* In a real-world program you OF COURSE check the return code of the
- function calls. On success, the value of maxfd is guaranteed to be
- greater or equal than -1. We call select(maxfd + 1, ...), specially in
- case of (maxfd == -1), we call select(0, ...), which is basically equal
- to sleep. */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- switch(rc) {
- case -1:
- /* select error */
- still_running = 0;
- printf("select() returns error, this is badness\n");
- break;
- case 0:
- default:
- /* timeout or readable/writable sockets */
- curl_multi_perform(multi_handle, &still_running);
- break;
- }
- } while(still_running);
-
- curl_multi_cleanup(multi_handle);
-
- curl_easy_cleanup(http_handle);
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/multithread.c b/plugins/FTPFileYM/curl/docs/examples/multithread.c
deleted file mode 100644
index 831a07467a..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/multithread.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* A multi-threaded example that uses pthreads extensively to fetch
- * X remote files at once */
-
-#include <stdio.h>
-#include <pthread.h>
-#include <curl/curl.h>
-
-#define NUMT 4
-
-/*
- List of URLs to fetch.
-
- If you intend to use a SSL-based protocol here you MUST setup the OpenSSL
- callback functions as described here:
-
- http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
-
-*/
-const char * const urls[NUMT]= {
- "http://curl.haxx.se/",
- "ftp://cool.haxx.se/",
- "http://www.contactor.se/",
- "www.haxx.se"
-};
-
-static void *pull_one_url(void *url)
-{
- CURL *curl;
-
- curl = curl_easy_init();
- curl_easy_setopt(curl, CURLOPT_URL, url);
- curl_easy_perform(curl); /* ignores error */
- curl_easy_cleanup(curl);
-
- return NULL;
-}
-
-
-/*
- int pthread_create(pthread_t *new_thread_ID,
- const pthread_attr_t *attr,
- void * (*start_func)(void *), void *arg);
-*/
-
-int main(int argc, char **argv)
-{
- pthread_t tid[NUMT];
- int i;
- int error;
-
- /* Must initialize libcurl before any threads are started */
- curl_global_init(CURL_GLOBAL_ALL);
-
- for(i=0; i< NUMT; i++) {
- error = pthread_create(&tid[i],
- NULL, /* default attributes please */
- pull_one_url,
- (void *)urls[i]);
- if(0 != error)
- fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
- else
- fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]);
- }
-
- /* now wait for all threads to terminate */
- for(i=0; i< NUMT; i++) {
- error = pthread_join(tid[i], NULL);
- fprintf(stderr, "Thread %d terminated\n", i);
- }
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/opensslthreadlock.c b/plugins/FTPFileYM/curl/docs/examples/opensslthreadlock.c
deleted file mode 100644
index ad54f08ea5..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/opensslthreadlock.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example source code to show one way to set the necessary OpenSSL locking
- * callbacks if you want to do multi-threaded transfers with HTTPS/FTPS with
- * libcurl built to use OpenSSL.
- *
- * This is not a complete stand-alone example.
- *
- * Author: Jeremy Brown
- */
-
-
-#include <stdio.h>
-#include <pthread.h>
-#include <openssl/err.h>
-
-#define MUTEX_TYPE pthread_mutex_t
-#define MUTEX_SETUP(x) pthread_mutex_init(&(x), NULL)
-#define MUTEX_CLEANUP(x) pthread_mutex_destroy(&(x))
-#define MUTEX_LOCK(x) pthread_mutex_lock(&(x))
-#define MUTEX_UNLOCK(x) pthread_mutex_unlock(&(x))
-#define THREAD_ID pthread_self( )
-
-
-void handle_error(const char *file, int lineno, const char *msg){
- fprintf(stderr, "** %s:%d %s\n", file, lineno, msg);
- ERR_print_errors_fp(stderr);
- /* exit(-1); */
- }
-
-/* This array will store all of the mutexes available to OpenSSL. */
-static MUTEX_TYPE *mutex_buf= NULL;
-
-
-static void locking_function(int mode, int n, const char * file, int line)
-{
- if (mode & CRYPTO_LOCK)
- MUTEX_LOCK(mutex_buf[n]);
- else
- MUTEX_UNLOCK(mutex_buf[n]);
-}
-
-static unsigned long id_function(void)
-{
- return ((unsigned long)THREAD_ID);
-}
-
-int thread_setup(void)
-{
- int i;
-
- mutex_buf = malloc(CRYPTO_num_locks( ) * sizeof(MUTEX_TYPE));
- if (!mutex_buf)
- return 0;
- for (i = 0; i < CRYPTO_num_locks( ); i++)
- MUTEX_SETUP(mutex_buf[i]);
- CRYPTO_set_id_callback(id_function);
- CRYPTO_set_locking_callback(locking_function);
- return 1;
-}
-
-int thread_cleanup(void)
-{
- int i;
-
- if (!mutex_buf)
- return 0;
- CRYPTO_set_id_callback(NULL);
- CRYPTO_set_locking_callback(NULL);
- for (i = 0; i < CRYPTO_num_locks( ); i++)
- MUTEX_CLEANUP(mutex_buf[i]);
- free(mutex_buf);
- mutex_buf = NULL;
- return 1;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/persistant.c b/plugins/FTPFileYM/curl/docs/examples/persistant.c
deleted file mode 100644
index 0917dfdb81..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/persistant.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <unistd.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl_global_init(CURL_GLOBAL_ALL);
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-
- /* get the first document */
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* get another document from the same server using the same
- connection */
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/docs/");
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/pop3s.c b/plugins/FTPFileYM/curl/docs/examples/pop3s.c
deleted file mode 100644
index 44d7c80d0f..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/pop3s.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl = curl_easy_init();
- if(curl) {
- /* Set username and password */
- curl_easy_setopt(curl, CURLOPT_USERPWD, "user:password");
-
- /* This will only fetch the message with ID "1" of the given mailbox */
- curl_easy_setopt(curl, CURLOPT_URL, "pop3s://user@pop.example.com/1");
-
-#ifdef SKIP_PEER_VERIFICATION
- /*
- * If you want to connect to a site who isn't using a certificate that is
- * signed by one of the certs in the CA bundle you have, you can skip the
- * verification of the server's certificate. This makes the connection
- * A LOT LESS SECURE.
- *
- * If you have a CA cert for the server stored someplace else than in the
- * default bundle, then the CURLOPT_CAPATH option might come handy for
- * you.
- */
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
-#endif
-
-#ifdef SKIP_HOSTNAME_VERFICATION
- /*
- * If the site you're connecting to uses a different host name that what
- * they have mentioned in their server certificate's commonName (or
- * subjectAltName) fields, libcurl will refuse to connect. You can skip
- * this check, but this will make the connection less secure.
- */
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
-#endif
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/pop3slist.c b/plugins/FTPFileYM/curl/docs/examples/pop3slist.c
deleted file mode 100644
index 9d9668fa0a..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/pop3slist.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl = curl_easy_init();
- if(curl) {
- /* Set username and password */
- curl_easy_setopt(curl, CURLOPT_USERPWD, "user:password");
-
- /* This will list every message of the given mailbox */
- curl_easy_setopt(curl, CURLOPT_URL, "pop3s://user@pop.example.com/");
-
-#ifdef SKIP_PEER_VERIFICATION
- /*
- * If you want to connect to a site who isn't using a certificate that is
- * signed by one of the certs in the CA bundle you have, you can skip the
- * verification of the server's certificate. This makes the connection
- * A LOT LESS SECURE.
- *
- * If you have a CA cert for the server stored someplace else than in the
- * default bundle, then the CURLOPT_CAPATH option might come handy for
- * you.
- */
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
-#endif
-
-#ifdef SKIP_HOSTNAME_VERFICATION
- /*
- * If the site you're connecting to uses a different host name that what
- * they have mentioned in their server certificate's commonName (or
- * subjectAltName) fields, libcurl will refuse to connect. You can skip
- * this check, but this will make the connection less secure.
- */
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
-#endif
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/post-callback.c b/plugins/FTPFileYM/curl/docs/examples/post-callback.c
deleted file mode 100644
index 3e1cfb0605..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/post-callback.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* An example source code that issues a HTTP POST and we provide the actual
- * data through a read callback.
- */
-#include <stdio.h>
-#include <string.h>
-#include <curl/curl.h>
-
-const char data[]="this is what we post to the silly web server";
-
-struct WriteThis {
- const char *readptr;
- long sizeleft;
-};
-
-static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp)
-{
- struct WriteThis *pooh = (struct WriteThis *)userp;
-
- if(size*nmemb < 1)
- return 0;
-
- if(pooh->sizeleft) {
- *(char *)ptr = pooh->readptr[0]; /* copy one single byte */
- pooh->readptr++; /* advance pointer */
- pooh->sizeleft--; /* less data left */
- return 1; /* we return 1 byte at a time! */
- }
-
- return 0; /* no more data left to deliver */
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- struct WriteThis pooh;
-
- pooh.readptr = data;
- pooh.sizeleft = (long)strlen(data);
-
- /* In windows, this will init the winsock stuff */
- res = curl_global_init(CURL_GLOBAL_DEFAULT);
- /* Check for errors */
- if(res != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed: %s\n",
- curl_easy_strerror(res));
- return 1;
- }
-
- /* get a curl handle */
- curl = curl_easy_init();
- if(curl) {
- /* First set the URL that is about to receive our POST. */
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/index.cgi");
-
- /* Now specify we want to POST data */
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
-
- /* we want to use our own read function */
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
-
- /* pointer to pass to our read function */
- curl_easy_setopt(curl, CURLOPT_READDATA, &pooh);
-
- /* get verbose debug output please */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /*
- If you use POST to a HTTP 1.1 server, you can send data without knowing
- the size before starting the POST if you use chunked encoding. You
- enable this by adding a header like "Transfer-Encoding: chunked" with
- CURLOPT_HTTPHEADER. With HTTP 1.0 or without chunked transfer, you must
- specify the size in the request.
- */
-#ifdef USE_CHUNKED
- {
- struct curl_slist *chunk = NULL;
-
- chunk = curl_slist_append(chunk, "Transfer-Encoding: chunked");
- res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
- /* use curl_slist_free_all() after the *perform() call to free this
- list again */
- }
-#else
- /* Set the expected POST size. If you want to POST large amounts of data,
- consider CURLOPT_POSTFIELDSIZE_LARGE */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, pooh.sizeleft);
-#endif
-
-#ifdef DISABLE_EXPECT
- /*
- Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue"
- header. You can disable this header with CURLOPT_HTTPHEADER as usual.
- NOTE: if you want chunked transfer too, you need to combine these two
- since you can only set one list of headers with CURLOPT_HTTPHEADER. */
-
- /* A less good option would be to enforce HTTP 1.0, but that might also
- have other implications. */
- {
- struct curl_slist *chunk = NULL;
-
- chunk = curl_slist_append(chunk, "Expect:");
- res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk);
- /* use curl_slist_free_all() after the *perform() call to free this
- list again */
- }
-#endif
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- curl_global_cleanup();
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/postit2.c b/plugins/FTPFileYM/curl/docs/examples/postit2.c
deleted file mode 100644
index 67dcc1330b..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/postit2.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* Example code that uploads a file name 'foo' to a remote script that accepts
- * "HTML form based" (as described in RFC1738) uploads using HTTP POST.
- *
- * The imaginary form we'll fill in looks like:
- *
- * <form method="post" enctype="multipart/form-data" action="examplepost.cgi">
- * Enter file: <input type="file" name="sendfile" size="40">
- * Enter file name: <input type="text" name="filename" size="30">
- * <input type="submit" value="send" name="submit">
- * </form>
- *
- * This exact source code has not been verified to work.
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#include <curl/curl.h>
-
-int main(int argc, char *argv[])
-{
- CURL *curl;
- CURLcode res;
-
- struct curl_httppost *formpost=NULL;
- struct curl_httppost *lastptr=NULL;
- struct curl_slist *headerlist=NULL;
- static const char buf[] = "Expect:";
-
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* Fill in the file upload field */
- curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "sendfile",
- CURLFORM_FILE, "postit2.c",
- CURLFORM_END);
-
- /* Fill in the filename field */
- curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "filename",
- CURLFORM_COPYCONTENTS, "postit2.c",
- CURLFORM_END);
-
-
- /* Fill in the submit field too, even if this is rarely needed */
- curl_formadd(&formpost,
- &lastptr,
- CURLFORM_COPYNAME, "submit",
- CURLFORM_COPYCONTENTS, "send",
- CURLFORM_END);
-
- curl = curl_easy_init();
- /* initalize custom header list (stating that Expect: 100-continue is not
- wanted */
- headerlist = curl_slist_append(headerlist, buf);
- if(curl) {
- /* what URL that receives this POST */
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/examplepost.cgi");
- if ( (argc == 2) && (!strcmp(argv[1], "noexpectheader")) )
- /* only disable 100-continue header if explicitly requested */
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
- curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
-
- /* then cleanup the formpost chain */
- curl_formfree(formpost);
- /* free slist */
- curl_slist_free_all (headerlist);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/progressfunc.c b/plugins/FTPFileYM/curl/docs/examples/progressfunc.c
deleted file mode 100644
index 51a9c9b5e5..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/progressfunc.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-#define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000
-#define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3
-
-struct myprogress {
- double lastruntime;
- CURL *curl;
-};
-
-static int progress(void *p,
- double dltotal, double dlnow,
- double ultotal, double ulnow)
-{
- struct myprogress *myp = (struct myprogress *)p;
- CURL *curl = myp->curl;
- double curtime = 0;
-
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &curtime);
-
- /* under certain circumstances it may be desirable for certain functionality
- to only run every N seconds, in order to do this the transaction time can
- be used */
- if((curtime - myp->lastruntime) >= MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL) {
- myp->lastruntime = curtime;
- fprintf(stderr, "TOTAL TIME: %f \r\n", curtime);
- }
-
- fprintf(stderr, "UP: %g of %g DOWN: %g of %g\r\n",
- ulnow, ultotal, dlnow, dltotal);
-
- if(dlnow > STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES)
- return 1;
- return 0;
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res = CURLE_OK;
- struct myprogress prog;
-
- curl = curl_easy_init();
- if(curl) {
- prog.lastruntime = 0;
- prog.curl = curl;
-
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
- curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress);
- /* pass the struct pointer into the progress function */
- curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &prog);
- curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
- res = curl_easy_perform(curl);
-
- if(res != CURLE_OK)
- fprintf(stderr, "%s\n", curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return (int)res;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/resolve.c b/plugins/FTPFileYM/curl/docs/examples/resolve.c
deleted file mode 100644
index 7b3e5656e0..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/resolve.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res = CURLE_OK;
- struct curl_slist *host = NULL;
-
- /* Each single name resolve string should be written using the format
- HOST:PORT:ADDRESS where HOST is the name libcurl will try to resolve,
- PORT is the port number of the service where libcurl wants to connect to
- the HOST and ADDRESS is the numerical IP address
- */
- host = curl_slist_append(NULL, "example.com:80:127.0.0.1");
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_RESOLVE, host);
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- curl_slist_free_all(host);
-
- return (int)res;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/rtsp.c b/plugins/FTPFileYM/curl/docs/examples/rtsp.c
deleted file mode 100644
index 669780a9bc..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/rtsp.c
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Copyright (c) 2011, Jim Hollinger
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Jim Hollinger nor the names of its contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if defined (WIN32)
-# include <conio.h> /* _getch() */
-#else
-# include <termios.h>
-# include <unistd.h>
-
-static int _getch(void)
-{
- struct termios oldt, newt;
- int ch;
- tcgetattr( STDIN_FILENO, &oldt );
- newt = oldt;
- newt.c_lflag &= ~( ICANON | ECHO );
- tcsetattr( STDIN_FILENO, TCSANOW, &newt );
- ch = getchar();
- tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
- return ch;
-}
-#endif
-
-#include <curl/curl.h>
-
-#define VERSION_STR "V1.0"
-
-/* error handling macros */
-#define my_curl_easy_setopt(A, B, C) \
- if ((res = curl_easy_setopt((A), (B), (C))) != CURLE_OK) \
- fprintf(stderr, "curl_easy_setopt(%s, %s, %s) failed: %d\n", \
- #A, #B, #C, res);
-
-#define my_curl_easy_perform(A) \
- if ((res = curl_easy_perform((A))) != CURLE_OK) \
- fprintf(stderr, "curl_easy_perform(%s) failed: %d\n", #A, res);
-
-
-/* send RTSP OPTIONS request */
-static void rtsp_options(CURL *curl, const char *uri)
-{
- CURLcode res = CURLE_OK;
- printf("\nRTSP: OPTIONS %s\n", uri);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_OPTIONS);
- my_curl_easy_perform(curl);
-}
-
-
-/* send RTSP DESCRIBE request and write sdp response to a file */
-static void rtsp_describe(CURL *curl, const char *uri,
- const char *sdp_filename)
-{
- CURLcode res = CURLE_OK;
- FILE *sdp_fp = fopen(sdp_filename, "wt");
- printf("\nRTSP: DESCRIBE %s\n", uri);
- if (sdp_fp == NULL) {
- fprintf(stderr, "Could not open '%s' for writing\n", sdp_filename);
- sdp_fp = stdout;
- }
- else {
- printf("Writing SDP to '%s'\n", sdp_filename);
- }
- my_curl_easy_setopt(curl, CURLOPT_WRITEDATA, sdp_fp);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_DESCRIBE);
- my_curl_easy_perform(curl);
- my_curl_easy_setopt(curl, CURLOPT_WRITEDATA, stdout);
- if (sdp_fp != stdout) {
- fclose(sdp_fp);
- }
-}
-
-/* send RTSP SETUP request */
-static void rtsp_setup(CURL *curl, const char *uri, const char *transport)
-{
- CURLcode res = CURLE_OK;
- printf("\nRTSP: SETUP %s\n", uri);
- printf(" TRANSPORT %s\n", transport);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, transport);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_SETUP);
- my_curl_easy_perform(curl);
-}
-
-
-/* send RTSP PLAY request */
-static void rtsp_play(CURL *curl, const char *uri, const char *range)
-{
- CURLcode res = CURLE_OK;
- printf("\nRTSP: PLAY %s\n", uri);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri);
- my_curl_easy_setopt(curl, CURLOPT_RANGE, range);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_PLAY);
- my_curl_easy_perform(curl);
-}
-
-
-/* send RTSP TEARDOWN request */
-static void rtsp_teardown(CURL *curl, const char *uri)
-{
- CURLcode res = CURLE_OK;
- printf("\nRTSP: TEARDOWN %s\n", uri);
- my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_TEARDOWN);
- my_curl_easy_perform(curl);
-}
-
-
-/* convert url into an sdp filename */
-static void get_sdp_filename(const char *url, char *sdp_filename)
-{
- const char *s = strrchr(url, '/');
- strcpy(sdp_filename, "video.sdp");
- if (s != NULL) {
- s++;
- if (s[0] != '\0') {
- sprintf(sdp_filename, "%s.sdp", s);
- }
- }
-}
-
-
-/* scan sdp file for media control attribute */
-static void get_media_control_attribute(const char *sdp_filename,
- char *control)
-{
- int max_len = 256;
- char *s = malloc(max_len);
- FILE *sdp_fp = fopen(sdp_filename, "rt");
- control[0] = '\0';
- if (sdp_fp != NULL) {
- while (fgets(s, max_len - 2, sdp_fp) != NULL) {
- sscanf(s, " a = control: %s", control);
- }
- fclose(sdp_fp);
- }
- free(s);
-}
-
-
-/* main app */
-int main(int argc, char * const argv[])
-{
-#if 1
- const char *transport = "RTP/AVP;unicast;client_port=1234-1235"; /* UDP */
-#else
- const char *transport = "RTP/AVP/TCP;unicast;client_port=1234-1235"; /* TCP */
-#endif
- const char *range = "0.000-";
- int rc = EXIT_SUCCESS;
- char *base_name = NULL;
-
- printf("\nRTSP request %s\n", VERSION_STR);
- printf(" Project web site: http://code.google.com/p/rtsprequest/\n");
- printf(" Requires cURL V7.20 or greater\n\n");
-
- /* check command line */
- if ((argc != 2) && (argc != 3)) {
- base_name = strrchr(argv[0], '/');
- if (base_name == NULL) {
- base_name = strrchr(argv[0], '\\');
- }
- if (base_name == NULL) {
- base_name = argv[0];
- } else {
- base_name++;
- }
- printf("Usage: %s url [transport]\n", base_name);
- printf(" url of video server\n");
- printf(" transport (optional) specifier for media stream protocol\n");
- printf(" default transport: %s\n", transport);
- printf("Example: %s rtsp://192.168.0.2/media/video1\n\n", base_name);
- rc = EXIT_FAILURE;
- } else {
- const char *url = argv[1];
- char *uri = malloc(strlen(url) + 32);
- char *sdp_filename = malloc(strlen(url) + 32);
- char *control = malloc(strlen(url) + 32);
- CURLcode res;
- get_sdp_filename(url, sdp_filename);
- if (argc == 3) {
- transport = argv[2];
- }
-
- /* initialize curl */
- res = curl_global_init(CURL_GLOBAL_ALL);
- if (res == CURLE_OK) {
- curl_version_info_data *data = curl_version_info(CURLVERSION_NOW);
- CURL *curl;
- fprintf(stderr, " cURL V%s loaded\n", data->version);
-
- /* initialize this curl session */
- curl = curl_easy_init();
- if (curl != NULL) {
- my_curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
- my_curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
- my_curl_easy_setopt(curl, CURLOPT_WRITEHEADER, stdout);
- my_curl_easy_setopt(curl, CURLOPT_URL, url);
-
- /* request server options */
- sprintf(uri, "%s", url);
- rtsp_options(curl, uri);
-
- /* request session description and write response to sdp file */
- rtsp_describe(curl, uri, sdp_filename);
-
- /* get media control attribute from sdp file */
- get_media_control_attribute(sdp_filename, control);
-
- /* setup media stream */
- sprintf(uri, "%s/%s", url, control);
- rtsp_setup(curl, uri, transport);
-
- /* start playing media stream */
- sprintf(uri, "%s/", url);
- rtsp_play(curl, uri, range);
- printf("Playing video, press any key to stop ...");
- _getch();
- printf("\n");
-
- /* teardown session */
- rtsp_teardown(curl, uri);
-
- /* cleanup */
- curl_easy_cleanup(curl);
- curl = NULL;
- } else {
- fprintf(stderr, "curl_easy_init() failed\n");
- }
- curl_global_cleanup();
- } else {
- fprintf(stderr, "curl_global_init(%s) failed: %d\n",
- "CURL_GLOBAL_ALL", res);
- }
- free(control);
- free(sdp_filename);
- free(uri);
- }
-
- return rc;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/sampleconv.c b/plugins/FTPFileYM/curl/docs/examples/sampleconv.c
deleted file mode 100644
index 3db316096c..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/sampleconv.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/*
- This is a simple example showing how a program on a non-ASCII platform
- would invoke callbacks to do its own codeset conversions instead of
- using the built-in iconv functions in libcurl.
-
- The IBM-1047 EBCDIC codeset is used for this example but the code
- would be similar for other non-ASCII codesets.
-
- Three callback functions are created below:
- my_conv_from_ascii_to_ebcdic,
- my_conv_from_ebcdic_to_ascii, and
- my_conv_from_utf8_to_ebcdic
-
- The "platform_xxx" calls represent platform-specific conversion routines.
-
- */
-
-#include <stdio.h>
-#include <curl/curl.h>
-
-CURLcode my_conv_from_ascii_to_ebcdic(char *buffer, size_t length)
-{
- char *tempptrin, *tempptrout;
- size_t bytes = length;
- int rc;
- tempptrin = tempptrout = buffer;
- rc = platform_a2e(&tempptrin, &bytes, &tempptrout, &bytes);
- if (rc == PLATFORM_CONV_OK) {
- return(CURLE_OK);
- } else {
- return(CURLE_CONV_FAILED);
- }
-}
-
-CURLcode my_conv_from_ebcdic_to_ascii(char *buffer, size_t length)
-{
- char *tempptrin, *tempptrout;
- size_t bytes = length;
- int rc;
- tempptrin = tempptrout = buffer;
- rc = platform_e2a(&tempptrin, &bytes, &tempptrout, &bytes);
- if (rc == PLATFORM_CONV_OK) {
- return(CURLE_OK);
- } else {
- return(CURLE_CONV_FAILED);
- }
-}
-
-CURLcode my_conv_from_utf8_to_ebcdic(char *buffer, size_t length)
-{
- char *tempptrin, *tempptrout;
- size_t bytes = length;
- int rc;
- tempptrin = tempptrout = buffer;
- rc = platform_u2e(&tempptrin, &bytes, &tempptrout, &bytes);
- if (rc == PLATFORM_CONV_OK) {
- return(CURLE_OK);
- } else {
- return(CURLE_CONV_FAILED);
- }
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-
- /* use platform-specific functions for codeset conversions */
- curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
- my_conv_from_ascii_to_ebcdic);
- curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION,
- my_conv_from_ebcdic_to_ascii);
- curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION,
- my_conv_from_utf8_to_ebcdic);
-
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/sendrecv.c b/plugins/FTPFileYM/curl/docs/examples/sendrecv.c
deleted file mode 100644
index 88fddf59f8..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/sendrecv.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* An example of curl_easy_send() and curl_easy_recv() usage. */
-
-#include <stdio.h>
-#include <string.h>
-#include <curl/curl.h>
-
-/* Auxiliary function that waits on the socket. */
-static int wait_on_socket(curl_socket_t sockfd, int for_recv, long timeout_ms)
-{
- struct timeval tv;
- fd_set infd, outfd, errfd;
- int res;
-
- tv.tv_sec = timeout_ms / 1000;
- tv.tv_usec= (timeout_ms % 1000) * 1000;
-
- FD_ZERO(&infd);
- FD_ZERO(&outfd);
- FD_ZERO(&errfd);
-
- FD_SET(sockfd, &errfd); /* always check for error */
-
- if(for_recv)
- {
- FD_SET(sockfd, &infd);
- }
- else
- {
- FD_SET(sockfd, &outfd);
- }
-
- /* select() returns the number of signalled sockets or -1 */
- res = select(sockfd + 1, &infd, &outfd, &errfd, &tv);
- return res;
-}
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- /* Minimalistic http request */
- const char *request = "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n";
- curl_socket_t sockfd; /* socket */
- long sockextr;
- size_t iolen;
- curl_off_t nread;
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
- /* Do not do the transfer - only connect to host */
- curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
- res = curl_easy_perform(curl);
-
- if(CURLE_OK != res)
- {
- printf("Error: %s\n", strerror(res));
- return 1;
- }
-
- /* Extract the socket from the curl handle - we'll need it for waiting.
- * Note that this API takes a pointer to a 'long' while we use
- * curl_socket_t for sockets otherwise.
- */
- res = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &sockextr);
-
- if(CURLE_OK != res)
- {
- printf("Error: %s\n", curl_easy_strerror(res));
- return 1;
- }
-
- sockfd = sockextr;
-
- /* wait for the socket to become ready for sending */
- if(!wait_on_socket(sockfd, 0, 60000L))
- {
- printf("Error: timeout.\n");
- return 1;
- }
-
- puts("Sending request.");
- /* Send the request. Real applications should check the iolen
- * to see if all the request has been sent */
- res = curl_easy_send(curl, request, strlen(request), &iolen);
-
- if(CURLE_OK != res)
- {
- printf("Error: %s\n", curl_easy_strerror(res));
- return 1;
- }
- puts("Reading response.");
-
- /* read the response */
- for(;;)
- {
- char buf[1024];
-
- wait_on_socket(sockfd, 1, 60000L);
- res = curl_easy_recv(curl, buf, 1024, &iolen);
-
- if(CURLE_OK != res)
- break;
-
- nread = (curl_off_t)iolen;
-
- printf("Received %" CURL_FORMAT_CURL_OFF_T " bytes.\n", nread);
- }
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/sepheaders.c b/plugins/FTPFileYM/curl/docs/examples/sepheaders.c
deleted file mode 100644
index afa14fc85f..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/sepheaders.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <curl/curl.h>
-
-static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- int written = fwrite(ptr, size, nmemb, (FILE *)stream);
- return written;
-}
-
-int main(void)
-{
- CURL *curl_handle;
- static const char *headerfilename = "head.out";
- FILE *headerfile;
- static const char *bodyfilename = "body.out";
- FILE *bodyfile;
-
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* init the curl session */
- curl_handle = curl_easy_init();
-
- /* set URL to get */
- curl_easy_setopt(curl_handle, CURLOPT_URL, "http://example.com");
-
- /* no progress meter please */
- curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L);
-
- /* send all data to this function */
- curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data);
-
- /* open the files */
- headerfile = fopen(headerfilename,"w");
- if (headerfile == NULL) {
- curl_easy_cleanup(curl_handle);
- return -1;
- }
- bodyfile = fopen(bodyfilename,"w");
- if (bodyfile == NULL) {
- curl_easy_cleanup(curl_handle);
- return -1;
- }
-
- /* we want the headers to this file handle */
- curl_easy_setopt(curl_handle, CURLOPT_WRITEHEADER, headerfile);
-
- /*
- * Notice here that if you want the actual data sent anywhere else but
- * stdout, you should consider using the CURLOPT_WRITEDATA option. */
-
- /* get it! */
- curl_easy_perform(curl_handle);
-
- /* close the header file */
- fclose(headerfile);
-
- /* cleanup curl stuff */
- curl_easy_cleanup(curl_handle);
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/sftpget.c b/plugins/FTPFileYM/curl/docs/examples/sftpget.c
deleted file mode 100644
index 8317462e9c..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/sftpget.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-
-#include <stdio.h>
-
-#include <curl/curl.h>
-
-/* define this to switch off the use of ssh-agent in this program */
-#undef DISABLE_SSH_AGENT
-
-/*
- * This is an example showing how to get a single file from an SFTP server.
- * It delays the actual destination file creation until the first write
- * callback so that it won't create an empty file in case the remote file
- * doesn't exist or something else fails.
- */
-
-struct FtpFile {
- const char *filename;
- FILE *stream;
-};
-
-static size_t my_fwrite(void *buffer, size_t size, size_t nmemb,
- void *stream)
-{
- struct FtpFile *out=(struct FtpFile *)stream;
- if(out && !out->stream) {
- /* open file for writing */
- out->stream=fopen(out->filename, "wb");
- if(!out->stream)
- return -1; /* failure, can't open file to write */
- }
- return fwrite(buffer, size, nmemb, out->stream);
-}
-
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct FtpFile ftpfile={
- "yourfile.bin", /* name to store the file as if succesful */
- NULL
- };
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(curl) {
- /*
- * You better replace the URL with one that works!
- */
- curl_easy_setopt(curl, CURLOPT_URL,
- "sftp://user@server/home/user/file.txt");
- /* Define our callback to get called when there's data to be written */
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);
- /* Set a pointer to our struct to pass to the callback */
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile);
-
-#ifndef DISABLE_SSH_AGENT
- /* We activate ssh agent. For this to work you need
- to have ssh-agent running (type set | grep SSH_AGENT to check) or
- pageant on Windows (there is an icon in systray if so) */
- curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, CURLSSH_AUTH_AGENT);
-#endif
-
- /* Switch on full protocol/debug output */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- res = curl_easy_perform(curl);
-
- /* always cleanup */
- curl_easy_cleanup(curl);
-
- if(CURLE_OK != res) {
- /* we failed */
- fprintf(stderr, "curl told us %d\n", res);
- }
- }
-
- if(ftpfile.stream)
- fclose(ftpfile.stream); /* close the local file */
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/simple.c b/plugins/FTPFileYM/curl/docs/examples/simple.c
deleted file mode 100644
index 1912ce66e9..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/simple.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
- /* example.com is redirected, so we tell libcurl to follow redirection */
- curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/simplepost.c b/plugins/FTPFileYM/curl/docs/examples/simplepost.c
deleted file mode 100644
index 8657771f46..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/simplepost.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
-
- static const char *postthis="moo mooo moo moo";
-
- curl = curl_easy_init();
- if(curl) {
- curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
- curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postthis);
-
- /* if we don't provide POSTFIELDSIZE, libcurl will strlen() by
- itself */
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(postthis));
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/simplesmtp.c b/plugins/FTPFileYM/curl/docs/examples/simplesmtp.c
deleted file mode 100644
index df85162424..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/simplesmtp.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <curl/curl.h>
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct curl_slist *recipients = NULL;
-
- /* value for envelope reverse-path */
- static const char *from = "<bradh@example.com>";
-
- /* this becomes the envelope forward-path */
- static const char *to = "<bradh@example.net>";
-
- curl = curl_easy_init();
- if(curl) {
- /* this is the URL for your mailserver - you can also use an smtps:// URL
- * here */
- curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.net.");
-
- /* Note that this option isn't strictly required, omitting it will result in
- * libcurl will sent the MAIL FROM command with no sender data. All
- * autoresponses should have an empty reverse-path, and should be directed
- * to the address in the reverse-path which triggered them. Otherwise, they
- * could cause an endless loop. See RFC 5321 Section 4.5.5 for more details.
- */
- curl_easy_setopt(curl, CURLOPT_MAIL_FROM, from);
-
- /* Note that the CURLOPT_MAIL_RCPT takes a list, not a char array. */
- recipients = curl_slist_append(recipients, to);
- curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);
-
- /* You provide the payload (headers and the body of the message) as the
- * "data" element. There are two choices, either:
- * - provide a callback function and specify the function name using the
- * CURLOPT_READFUNCTION option; or
- * - just provide a FILE pointer that can be used to read the data from.
- * The easiest case is just to read from standard input, (which is available
- * as a FILE pointer) as shown here.
- */
- curl_easy_setopt(curl, CURLOPT_READDATA, stdin);
-
- /* send the message (including headers) */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* free the list of recipients */
- curl_slist_free_all(recipients);
-
- /* curl won't send the QUIT command until you call cleanup, so you should be
- * able to re-use this connection for additional messages (setting
- * CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT as required, and calling
- * curl_easy_perform() again. It may not be a good idea to keep the
- * connection open for a very long time though (more than a few minutes may
- * result in the server timing out the connection), and you do want to clean
- * up in the end.
- */
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/simplessl.c b/plugins/FTPFileYM/curl/docs/examples/simplessl.c
deleted file mode 100644
index 74c58461a6..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/simplessl.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-
-#include <curl/curl.h>
-
-/* some requirements for this to work:
- 1. set pCertFile to the file with the client certificate
- 2. if the key is passphrase protected, set pPassphrase to the
- passphrase you use
- 3. if you are using a crypto engine:
- 3.1. set a #define USE_ENGINE
- 3.2. set pEngine to the name of the crypto engine you use
- 3.3. set pKeyName to the key identifier you want to use
- 4. if you don't use a crypto engine:
- 4.1. set pKeyName to the file name of your client key
- 4.2. if the format of the key file is DER, set pKeyType to "DER"
-
- !! verify of the server certificate is not implemented here !!
-
- **** This example only works with libcurl 7.9.3 and later! ****
-
-*/
-
-int main(void)
-{
- int i;
- CURL *curl;
- CURLcode res;
- FILE *headerfile;
- const char *pPassphrase = NULL;
-
- static const char *pCertFile = "testcert.pem";
- static const char *pCACertFile="cacert.pem";
-
- const char *pKeyName;
- const char *pKeyType;
-
- const char *pEngine;
-
-#ifdef USE_ENGINE
- pKeyName = "rsa_test";
- pKeyType = "ENG";
- pEngine = "chil"; /* for nChiper HSM... */
-#else
- pKeyName = "testkey.pem";
- pKeyType = "PEM";
- pEngine = NULL;
-#endif
-
- headerfile = fopen("dumpit", "w");
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(curl) {
- /* what call to write: */
- curl_easy_setopt(curl, CURLOPT_URL, "HTTPS://your.favourite.ssl.site");
- curl_easy_setopt(curl, CURLOPT_WRITEHEADER, headerfile);
-
- for(i = 0; i < 1; i++) /* single-iteration loop, just to break out from */
- {
- if (pEngine) /* use crypto engine */
- {
- if (curl_easy_setopt(curl, CURLOPT_SSLENGINE,pEngine) != CURLE_OK)
- { /* load the crypto engine */
- fprintf(stderr,"can't set crypto engine\n");
- break;
- }
- if (curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT,1L) != CURLE_OK)
- { /* set the crypto engine as default */
- /* only needed for the first time you load
- a engine in a curl object... */
- fprintf(stderr,"can't set crypto engine as default\n");
- break;
- }
- }
- /* cert is stored PEM coded in file... */
- /* since PEM is default, we needn't set it for PEM */
- curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"PEM");
-
- /* set the cert for client authentication */
- curl_easy_setopt(curl,CURLOPT_SSLCERT,pCertFile);
-
- /* sorry, for engine we must set the passphrase
- (if the key has one...) */
- if (pPassphrase)
- curl_easy_setopt(curl,CURLOPT_KEYPASSWD,pPassphrase);
-
- /* if we use a key stored in a crypto engine,
- we must set the key type to "ENG" */
- curl_easy_setopt(curl,CURLOPT_SSLKEYTYPE,pKeyType);
-
- /* set the private key (file or ID in engine) */
- curl_easy_setopt(curl,CURLOPT_SSLKEY,pKeyName);
-
- /* set the file with the certs vaildating the server */
- curl_easy_setopt(curl,CURLOPT_CAINFO,pCACertFile);
-
- /* disconnect if we can't validate server's cert */
- curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,1L);
-
- /* Perform the request, res will get the return code */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* we are done... */
- }
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
-
- curl_global_cleanup();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/smooth-gtk-thread.c b/plugins/FTPFileYM/curl/docs/examples/smooth-gtk-thread.c
deleted file mode 100644
index 932f6e3963..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/smooth-gtk-thread.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This is a multi threaded application that uses a progress bar to show
- * status. It uses Gtk+ to make a smooth pulse.
- *
- * Written by Jud Bishop after studying the other examples provided with
- * libcurl.
- *
- * To compile (on a single line):
- * gcc -ggdb `pkg-config --cflags --libs gtk+-2.0` -lcurl -lssl -lcrypto
- * -lgthread-2.0 -dl smooth-gtk-thread.c -o smooth-gtk-thread
- */
-
-#include <stdio.h>
-#include <gtk/gtk.h>
-#include <glib.h>
-#include <unistd.h>
-#include <pthread.h>
-
-#include <curl/curl.h>
-
-#define NUMT 4
-
-pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
-int j = 0;
-gint num_urls = 9; /* Just make sure this is less than urls[]*/
-const char * const urls[]= {
- "90022",
- "90023",
- "90024",
- "90025",
- "90026",
- "90027",
- "90028",
- "90029",
- "90030"
-};
-
-size_t write_file(void *ptr, size_t size, size_t nmemb, FILE *stream)
-{
- /* printf("write_file\n"); */
- return fwrite(ptr, size, nmemb, stream);
-}
-
-/* http://xoap.weather.com/weather/local/46214?cc=*&dayf=5&unit=i */
-void *pull_one_url(void *NaN)
-{
- CURL *curl;
- CURLcode res;
- gchar *http;
- FILE *outfile;
-
- /* Stop threads from entering unless j is incremented */
- pthread_mutex_lock(&lock);
- while ( j < num_urls )
- {
- printf("j = %d\n", j);
-
- http =
- g_strdup_printf("xoap.weather.com/weather/local/%s?cc=*&dayf=5&unit=i\n",
- urls[j]);
-
- printf( "http %s", http );
-
- curl = curl_easy_init();
- if(curl)
- {
-
- outfile = fopen(urls[j], "w");
- /* printf("fopen\n"); */
-
- /* Set the URL and transfer type */
- curl_easy_setopt(curl, CURLOPT_URL, http);
-
- /* Write to the file */
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile);
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_file);
-
- j++; /* critical line */
- pthread_mutex_unlock(&lock);
-
- res = curl_easy_perform(curl);
-
- fclose(outfile);
- printf("fclose\n");
-
- curl_easy_cleanup(curl);
- }
- g_free (http);
-
- /* Adds more latency, testing the mutex.*/
- sleep(1);
-
- } /* end while */
- return NULL;
-}
-
-
-gboolean pulse_bar(gpointer data)
-{
- gdk_threads_enter();
- gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data));
- gdk_threads_leave();
-
- /* Return true so the function will be called again;
- * returning false removes this timeout function.
- */
- return TRUE;
-}
-
-void *create_thread(void *progress_bar)
-{
- pthread_t tid[NUMT];
- int i;
- int error;
-
- /* Make sure I don't create more threads than urls. */
- for(i=0; i < NUMT && i < num_urls ; i++) {
- error = pthread_create(&tid[i],
- NULL, /* default attributes please */
- pull_one_url,
- NULL);
- if(0 != error)
- fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
- else
- fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]);
- }
-
- /* Wait for all threads to terminate. */
- for(i=0; i < NUMT && i < num_urls; i++) {
- error = pthread_join(tid[i], NULL);
- fprintf(stderr, "Thread %d terminated\n", i);
- }
-
- /* This stops the pulsing if you have it turned on in the progress bar
- section */
- g_source_remove(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(progress_bar),
- "pulse_id")));
-
- /* This destroys the progress bar */
- gtk_widget_destroy(progress_bar);
-
- /* [Un]Comment this out to kill the program rather than pushing close. */
- /* gtk_main_quit(); */
-
-
- return NULL;
-
-}
-
-static gboolean cb_delete(GtkWidget *window, gpointer data)
-{
- gtk_main_quit();
- return FALSE;
-}
-
-int main(int argc, char **argv)
-{
- GtkWidget *top_window, *outside_frame, *inside_frame, *progress_bar;
-
- /* Must initialize libcurl before any threads are started */
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* Init thread */
- g_thread_init(NULL);
- gdk_threads_init ();
- gdk_threads_enter ();
-
- gtk_init(&argc, &argv);
-
- /* Base window */
- top_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-
- /* Frame */
- outside_frame = gtk_frame_new(NULL);
- gtk_frame_set_shadow_type(GTK_FRAME(outside_frame), GTK_SHADOW_OUT);
- gtk_container_add(GTK_CONTAINER(top_window), outside_frame);
-
- /* Frame */
- inside_frame = gtk_frame_new(NULL);
- gtk_frame_set_shadow_type(GTK_FRAME(inside_frame), GTK_SHADOW_IN);
- gtk_container_set_border_width(GTK_CONTAINER(inside_frame), 5);
- gtk_container_add(GTK_CONTAINER(outside_frame), inside_frame);
-
- /* Progress bar */
- progress_bar = gtk_progress_bar_new();
- gtk_progress_bar_pulse (GTK_PROGRESS_BAR (progress_bar));
- /* Make uniform pulsing */
- gint pulse_ref = g_timeout_add (300, pulse_bar, progress_bar);
- g_object_set_data(G_OBJECT(progress_bar), "pulse_id",
- GINT_TO_POINTER(pulse_ref));
- gtk_container_add(GTK_CONTAINER(inside_frame), progress_bar);
-
- gtk_widget_show_all(top_window);
- printf("gtk_widget_show_all\n");
-
- g_signal_connect(G_OBJECT (top_window), "delete-event",
- G_CALLBACK(cb_delete), NULL);
-
- if (!g_thread_create(&create_thread, progress_bar, FALSE, NULL) != 0)
- g_warning("can't create the thread");
-
- gtk_main();
- gdk_threads_leave();
- printf("gdk_threads_leave\n");
-
- return 0;
-}
-
diff --git a/plugins/FTPFileYM/curl/docs/examples/smtp-multi.c b/plugins/FTPFileYM/curl/docs/examples/smtp-multi.c
deleted file mode 100644
index 6462aff2d5..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/smtp-multi.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This is an example application source code sending SMTP mail using the
- * multi interface.
- */
-
-#include <string.h>
-#include <curl/curl.h>
-
-/*
- * This is the list of basic details you need to tweak to get things right.
- */
-#define USERNAME "user@example.com"
-#define PASSWORD "123qwerty"
-#define SMTPSERVER "smtp.example.com"
-#define SMTPPORT ":587" /* it is a colon+port string, but you can set it
- to "" to use the default port */
-#define RECIPIENT "<recipient@example.com>"
-#define MAILFROM "<realuser@example.com>"
-
-#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
-
-/* Note that you should include the actual meta data headers here as well if
- you want the mail to have a Subject, another From:, show a To: or whatever
- you think your mail should feature! */
-static const char *text[]={
- "one\n",
- "two\n",
- "three\n",
- " Hello, this is CURL email SMTP\n",
- NULL
-};
-
-struct WriteThis {
- int counter;
-};
-
-static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp)
-{
- struct WriteThis *pooh = (struct WriteThis *)userp;
- const char *data;
-
- if(size*nmemb < 1)
- return 0;
-
- data = text[pooh->counter];
-
- if(data) {
- size_t len = strlen(data);
- memcpy(ptr, data, len);
- pooh->counter++; /* advance pointer */
- return len;
- }
- return 0; /* no more data left to deliver */
-}
-
-static struct timeval tvnow(void)
-{
- /*
- ** time() returns the value of time in seconds since the Epoch.
- */
- struct timeval now;
- now.tv_sec = (long)time(NULL);
- now.tv_usec = 0;
- return now;
-}
-
-static long tvdiff(struct timeval newer, struct timeval older)
-{
- return (newer.tv_sec-older.tv_sec)*1000+
- (newer.tv_usec-older.tv_usec)/1000;
-}
-
-int main(void)
-{
- CURL *curl;
- CURLM *mcurl;
- int still_running = 1;
- struct timeval mp_start;
- struct WriteThis pooh;
- struct curl_slist* rcpt_list = NULL;
-
- pooh.counter = 0;
-
- curl_global_init(CURL_GLOBAL_DEFAULT);
-
- curl = curl_easy_init();
- if(!curl)
- return 1;
-
- mcurl = curl_multi_init();
- if(!mcurl)
- return 2;
-
- rcpt_list = curl_slist_append(rcpt_list, RECIPIENT);
- /* more addresses can be added here
- rcpt_list = curl_slist_append(rcpt_list, "<others@example.com>");
- */
-
- curl_easy_setopt(curl, CURLOPT_URL, "smtp://" SMTPSERVER SMTPPORT);
- curl_easy_setopt(curl, CURLOPT_USERNAME, USERNAME);
- curl_easy_setopt(curl, CURLOPT_PASSWORD, PASSWORD);
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
- curl_easy_setopt(curl, CURLOPT_MAIL_FROM, MAILFROM);
- curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, rcpt_list);
- curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL);
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
- curl_easy_setopt(curl, CURLOPT_READDATA, &pooh);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_SSLVERSION, 0L);
- curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 0L);
- curl_multi_add_handle(mcurl, curl);
-
- mp_start = tvnow();
-
- /* we start some action by calling perform right away */
- curl_multi_perform(mcurl, &still_running);
-
- while(still_running) {
- struct timeval timeout;
- int rc; /* select() return code */
-
- fd_set fdread;
- fd_set fdwrite;
- fd_set fdexcep;
- int maxfd = -1;
-
- long curl_timeo = -1;
-
- FD_ZERO(&fdread);
- FD_ZERO(&fdwrite);
- FD_ZERO(&fdexcep);
-
- /* set a suitable timeout to play around with */
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-
- curl_multi_timeout(mcurl, &curl_timeo);
- if(curl_timeo >= 0) {
- timeout.tv_sec = curl_timeo / 1000;
- if(timeout.tv_sec > 1)
- timeout.tv_sec = 1;
- else
- timeout.tv_usec = (curl_timeo % 1000) * 1000;
- }
-
- /* get file descriptors from the transfers */
- curl_multi_fdset(mcurl, &fdread, &fdwrite, &fdexcep, &maxfd);
-
- /* In a real-world program you OF COURSE check the return code of the
- function calls. On success, the value of maxfd is guaranteed to be
- greater or equal than -1. We call select(maxfd + 1, ...), specially in
- case of (maxfd == -1), we call select(0, ...), which is basically equal
- to sleep. */
-
- rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-
- if (tvdiff(tvnow(), mp_start) > MULTI_PERFORM_HANG_TIMEOUT) {
- fprintf(stderr, "ABORTING TEST, since it seems "
- "that it would have run forever.\n");
- break;
- }
-
- switch(rc) {
- case -1:
- /* select error */
- break;
- case 0: /* timeout */
- default: /* action */
- curl_multi_perform(mcurl, &still_running);
- break;
- }
- }
-
- curl_slist_free_all(rcpt_list);
- curl_multi_remove_handle(mcurl, curl);
- curl_multi_cleanup(mcurl);
- curl_easy_cleanup(curl);
- curl_global_cleanup();
- return 0;
-}
-
-
diff --git a/plugins/FTPFileYM/curl/docs/examples/smtp-tls.c b/plugins/FTPFileYM/curl/docs/examples/smtp-tls.c
deleted file mode 100644
index 3635c103f2..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/smtp-tls.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <string.h>
-#include <curl/curl.h>
-
-/* This is a simple example showing how to send mail using libcurl's SMTP
- * capabilities. It builds on the simplesmtp.c example, adding some
- * authentication and transport security.
- */
-
-#define FROM "<sender@example.org>"
-#define TO "<addressee@example.net>"
-#define CC "<info@example.org>"
-
-static const char *payload_text[]={
- "Date: Mon, 29 Nov 2010 21:54:29 +1100\n",
- "To: " TO "\n",
- "From: " FROM "(Example User)\n",
- "Cc: " CC "(Another example User)\n",
- "Message-ID: <dcd7cb36-11db-487a-9f3a-e652a9458efd@rfcpedant.example.org>\n",
- "Subject: SMTP TLS example message\n",
- "\n", /* empty line to divide headers from body, see RFC5322 */
- "The body of the message starts here.\n",
- "\n",
- "It could be a lot of lines, could be MIME encoded, whatever.\n",
- "Check RFC5322.\n",
- NULL
-};
-
-struct upload_status {
- int lines_read;
-};
-
-static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp)
-{
- struct upload_status *upload_ctx = (struct upload_status *)userp;
- const char *data;
-
- if ((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) {
- return 0;
- }
-
- data = payload_text[upload_ctx->lines_read];
-
- if (data) {
- size_t len = strlen(data);
- memcpy(ptr, data, len);
- upload_ctx->lines_read ++;
- return len;
- }
- return 0;
-}
-
-
-int main(void)
-{
- CURL *curl;
- CURLcode res;
- struct curl_slist *recipients = NULL;
- struct upload_status upload_ctx;
-
- upload_ctx.lines_read = 0;
-
- curl = curl_easy_init();
- if (curl) {
- /* This is the URL for your mailserver. Note the use of port 587 here,
- * instead of the normal SMTP port (25). Port 587 is commonly used for
- * secure mail submission (see RFC4403), but you should use whatever
- * matches your server configuration. */
- curl_easy_setopt(curl, CURLOPT_URL, "smtp://mainserver.example.net:587");
-
- /* In this example, we'll start with a plain text connection, and upgrade
- * to Transport Layer Security (TLS) using the STARTTLS command. Be careful
- * of using CURLUSESSL_TRY here, because if TLS upgrade fails, the transfer
- * will continue anyway - see the security discussion in the libcurl
- * tutorial for more details. */
- curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL);
-
- /* If your server doesn't have a valid certificate, then you can disable
- * part of the Transport Layer Security protection by setting the
- * CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST options to 0 (false).
- * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
- * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
- * That is, in general, a bad idea. It is still better than sending your
- * authentication details in plain text though.
- * Instead, you should get the issuer certificate (or the host certificate
- * if the certificate is self-signed) and add it to the set of certificates
- * that are known to libcurl using CURLOPT_CAINFO and/or CURLOPT_CAPATH. See
- * docs/SSLCERTS for more information.
- */
- curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem");
-
- /* A common reason for requiring transport security is to protect
- * authentication details (user names and passwords) from being "snooped"
- * on the network. Here is how the user name and password are provided: */
- curl_easy_setopt(curl, CURLOPT_USERNAME, "user@example.net");
- curl_easy_setopt(curl, CURLOPT_PASSWORD, "P@ssw0rd");
-
- /* value for envelope reverse-path */
- curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM);
- /* Add two recipients, in this particular case they correspond to the
- * To: and Cc: addressees in the header, but they could be any kind of
- * recipient. */
- recipients = curl_slist_append(recipients, TO);
- recipients = curl_slist_append(recipients, CC);
- curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);
-
- /* In this case, we're using a callback function to specify the data. You
- * could just use the CURLOPT_READDATA option to specify a FILE pointer to
- * read from.
- */
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source);
- curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx);
-
- /* Since the traffic will be encrypted, it is very useful to turn on debug
- * information within libcurl to see what is happening during the transfer.
- */
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-
- /* send the message (including headers) */
- res = curl_easy_perform(curl);
- /* Check for errors */
- if(res != CURLE_OK)
- fprintf(stderr, "curl_easy_perform() failed: %s\n",
- curl_easy_strerror(res));
-
- /* free the list of recipients and clean up */
- curl_slist_free_all(recipients);
- curl_easy_cleanup(curl);
- }
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/synctime.c b/plugins/FTPFileYM/curl/docs/examples/synctime.c
deleted file mode 100644
index 14d77de277..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/synctime.c
+++ /dev/null
@@ -1,366 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* This example code only builds as-is on Windows.
- *
- * While Unix/Linux user, you do not need this software.
- * You can achieve the same result as synctime using curl, awk and date.
- * Set proxy as according to your network, but beware of proxy Cache-Control.
- *
- * To set your system clock, root access is required.
- * # date -s "`curl -sI http://nist.time.gov/timezone.cgi?UTC/s/0 \
- * | awk -F': ' '/Date: / {print $2}'`"
- *
- * To view remote webserver date and time.
- * $ curl -sI http://nist.time.gov/timezone.cgi?UTC/s/0 \
- * | awk -F': ' '/Date: / {print $2}'
- *
- * Synchronising your computer clock via Internet time server usually relies
- * on DAYTIME, TIME, or NTP protocols. These protocols provide good accurate
- * time synchronisation but it does not work very well through a
- * firewall/proxy. Some adjustment has to be made to the firewall/proxy for
- * these protocols to work properly.
- *
- * There is an indirect method. Since most webserver provide server time in
- * their HTTP header, therefore you could synchronise your computer clock
- * using HTTP protocol which has no problem with firewall/proxy.
- *
- * For this software to work, you should take note of these items.
- * 1. Your firewall/proxy must allow your computer to surf internet.
- * 2. Webserver system time must in sync with the NTP time server,
- * or at least provide an accurate time keeping.
- * 3. Webserver HTTP header does not provide the milliseconds units,
- * so there is no way to get very accurate time.
- * 4. This software could only provide an accuracy of +- a few seconds,
- * as Round-Trip delay time is not taken into consideration.
- * Compensation of network, firewall/proxy delay cannot be simply divide
- * the Round-Trip delay time by half.
- * 5. Win32 SetSystemTime() API will set your computer clock according to
- * GMT/UTC time. Therefore your computer timezone must be properly set.
- * 6. Webserver data should not be cached by the proxy server. Some
- * webserver provide Cache-Control to prevent caching.
- *
- * References:
- * http://tf.nist.gov/timefreq/service/its.htm
- * http://tf.nist.gov/timefreq/service/firewall.htm
- *
- * Usage:
- * This software will synchronise your computer clock only when you issue
- * it with --synctime. By default, it only display the webserver's clock.
- *
- * Written by: Frank (contributed to libcurl)
- *
- * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
- * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- *
- * IN NO EVENT SHALL THE AUTHOR OF THIS SOFTWARE BE LIABLE FOR
- * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
- * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
- * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
- * OF THIS SOFTWARE.
- *
- */
-
-#include <stdio.h>
-#include <time.h>
-#ifndef __CYGWIN__
-#include <windows.h>
-#endif
-#include <curl/curl.h>
-
-
-#define MAX_STRING 256
-#define MAX_STRING1 MAX_STRING+1
-
-typedef struct
-{
- char http_proxy[MAX_STRING1];
- char proxy_user[MAX_STRING1];
- char timeserver[MAX_STRING1];
-} conf_t;
-
-const char DefaultTimeServer[4][MAX_STRING1] =
-{
- "http://nist.time.gov/timezone.cgi?UTC/s/0",
- "http://www.google.com/",
- "http://www.worldtimeserver.com/current_time_in_UTC.aspx",
- "http://www.worldtime.com/cgi-bin/wt.cgi"
-};
-
-const char *DayStr[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
-const char *MthStr[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
-
-int ShowAllHeader;
-int AutoSyncTime;
-SYSTEMTIME SYSTime;
-SYSTEMTIME LOCALTime;
-
-#define HTTP_COMMAND_HEAD 0
-#define HTTP_COMMAND_GET 1
-
-
-size_t SyncTime_CURL_WriteOutput(void *ptr, size_t size, size_t nmemb,
- void *stream)
-{
- fwrite(ptr, size, nmemb, stream);
- return(nmemb*size);
-}
-
-size_t SyncTime_CURL_WriteHeader(void *ptr, size_t size, size_t nmemb,
- void *stream)
-{
- int i, RetVal;
- char TmpStr1[26], TmpStr2[26];
-
- if (ShowAllHeader == 1)
- fprintf(stderr, "%s", (char *)(ptr));
-
- if (strncmp((char *)(ptr), "Date:", 5) == 0) {
- if (ShowAllHeader == 0)
- fprintf(stderr, "HTTP Server. %s", (char *)(ptr));
-
- if (AutoSyncTime == 1) {
- *TmpStr1 = 0;
- *TmpStr2 = 0;
- if (strlen((char *)(ptr)) > 50) /* Can prevent buffer overflow to
- TmpStr1 & 2? */
- AutoSyncTime = 0;
- else {
- RetVal = sscanf ((char *)(ptr), "Date: %s %hu %s %hu %hu:%hu:%hu",
- TmpStr1, &SYSTime.wDay, TmpStr2, &SYSTime.wYear,
- &SYSTime.wHour, &SYSTime.wMinute, &SYSTime.wSecond);
-
- if (RetVal == 7) {
-
- SYSTime.wMilliseconds = 500; /* adjust to midpoint, 0.5 sec */
- for (i=0; i<12; i++) {
- if (strcmp(MthStr[i], TmpStr2) == 0) {
- SYSTime.wMonth = i+1;
- break;
- }
- }
- AutoSyncTime = 3; /* Computer clock will be adjusted */
- }
- else {
- AutoSyncTime = 0; /* Error in sscanf() fields conversion */
- }
- }
- }
- }
-
- if (strncmp((char *)(ptr), "X-Cache: HIT", 12) == 0) {
- fprintf(stderr, "ERROR: HTTP Server data is cached."
- " Server Date is no longer valid.\n");
- AutoSyncTime = 0;
- }
- return(nmemb*size);
-}
-
-void SyncTime_CURL_Init(CURL *curl, char *proxy_port,
- char *proxy_user_password)
-{
- if (strlen(proxy_port) > 0)
- curl_easy_setopt(curl, CURLOPT_PROXY, proxy_port);
-
- if (strlen(proxy_user_password) > 0)
- curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, proxy_user_password);
-
- /* Trick Webserver by claiming that you are using Microsoft WinXP SP2, IE6 */
- curl_easy_setopt(curl, CURLOPT_USERAGENT,
- "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, *SyncTime_CURL_WriteOutput);
- curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, *SyncTime_CURL_WriteHeader);
-}
-
-int SyncTime_CURL_Fetch(CURL *curl, char *URL_Str, char *OutFileName,
- int HttpGetBody)
-{
- FILE *outfile;
- CURLcode res;
-
- outfile = NULL;
- if (HttpGetBody == HTTP_COMMAND_HEAD)
- curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
- else {
- outfile = fopen(OutFileName, "wb");
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile);
- }
-
- curl_easy_setopt(curl, CURLOPT_URL, URL_Str);
- res = curl_easy_perform(curl);
- if (outfile != NULL)
- fclose(outfile);
- return res; /* (CURLE_OK) */
-}
-
-void showUsage(void)
-{
- fprintf(stderr, "SYNCTIME: Synchronising computer clock with time server"
- " using HTTP protocol.\n");
- fprintf(stderr, "Usage : SYNCTIME [Option]\n");
- fprintf(stderr, "Options :\n");
- fprintf(stderr, " --server=WEBSERVER Use this time server instead"
- " of default.\n");
- fprintf(stderr, " --showall Show all HTTP header.\n");
- fprintf(stderr, " --synctime Synchronising computer clock"
- " with time server.\n");
- fprintf(stderr, " --proxy-user=USER[:PASS] Set proxy username and"
- " password.\n");
- fprintf(stderr, " --proxy=HOST[:PORT] Use HTTP proxy on given"
- " port.\n");
- fprintf(stderr, " --help Print this help.\n");
- fprintf(stderr, "\n");
- return;
-}
-
-int conf_init(conf_t *conf)
-{
- int i;
-
- *conf->http_proxy = 0;
- for (i=0; i<MAX_STRING1; i++)
- conf->proxy_user[i] = 0; /* Clean up password from memory */
- *conf->timeserver = 0;
- return 1;
-}
-
-int main(int argc, char *argv[])
-{
- CURL *curl;
- conf_t conf[1];
- int OptionIndex;
- struct tm *lt;
- struct tm *gmt;
- time_t tt;
- time_t tt_local;
- time_t tt_gmt;
- double tzonediffFloat;
- int tzonediffWord;
- char timeBuf[61];
- char tzoneBuf[16];
- int RetValue;
-
- OptionIndex = 0;
- ShowAllHeader = 0; /* Do not show HTTP Header */
- AutoSyncTime = 0; /* Do not synchronise computer clock */
- RetValue = 0; /* Successful Exit */
- conf_init(conf);
-
- if (argc > 1) {
- while (OptionIndex < argc) {
- if (strncmp(argv[OptionIndex], "--server=", 9) == 0)
- snprintf(conf->timeserver, MAX_STRING, "%s", &argv[OptionIndex][9]);
-
- if (strcmp(argv[OptionIndex], "--showall") == 0)
- ShowAllHeader = 1;
-
- if (strcmp(argv[OptionIndex], "--synctime") == 0)
- AutoSyncTime = 1;
-
- if (strncmp(argv[OptionIndex], "--proxy-user=", 13) == 0)
- snprintf(conf->proxy_user, MAX_STRING, "%s", &argv[OptionIndex][13]);
-
- if (strncmp(argv[OptionIndex], "--proxy=", 8) == 0)
- snprintf(conf->http_proxy, MAX_STRING, "%s", &argv[OptionIndex][8]);
-
- if ((strcmp(argv[OptionIndex], "--help") == 0) ||
- (strcmp(argv[OptionIndex], "/?") == 0)) {
- showUsage();
- return 0;
- }
- OptionIndex++;
- }
- }
-
- if (*conf->timeserver == 0) /* Use default server for time information */
- snprintf(conf->timeserver, MAX_STRING, "%s", DefaultTimeServer[0]);
-
- /* Init CURL before usage */
- curl_global_init(CURL_GLOBAL_ALL);
- curl = curl_easy_init();
- if (curl) {
- SyncTime_CURL_Init(curl, conf->http_proxy, conf->proxy_user);
-
- /* Calculating time diff between GMT and localtime */
- tt = time(0);
- lt = localtime(&tt);
- tt_local = mktime(lt);
- gmt = gmtime(&tt);
- tt_gmt = mktime(gmt);
- tzonediffFloat = difftime(tt_local, tt_gmt);
- tzonediffWord = (int)(tzonediffFloat/3600.0);
-
- if ((double)(tzonediffWord * 3600) == tzonediffFloat)
- snprintf(tzoneBuf, 15, "%+03d'00'", tzonediffWord);
- else
- snprintf(tzoneBuf, 15, "%+03d'30'", tzonediffWord);
-
- /* Get current system time and local time */
- GetSystemTime(&SYSTime);
- GetLocalTime(&LOCALTime);
- snprintf(timeBuf, 60, "%s, %02d %s %04d %02d:%02d:%02d.%03d, ",
- DayStr[LOCALTime.wDayOfWeek], LOCALTime.wDay,
- MthStr[LOCALTime.wMonth-1], LOCALTime.wYear,
- LOCALTime.wHour, LOCALTime.wMinute, LOCALTime.wSecond,
- LOCALTime.wMilliseconds);
-
- fprintf(stderr, "Fetch: %s\n\n", conf->timeserver);
- fprintf(stderr, "Before HTTP. Date: %s%s\n\n", timeBuf, tzoneBuf);
-
- /* HTTP HEAD command to the Webserver */
- SyncTime_CURL_Fetch(curl, conf->timeserver, "index.htm",
- HTTP_COMMAND_HEAD);
-
- GetLocalTime(&LOCALTime);
- snprintf(timeBuf, 60, "%s, %02d %s %04d %02d:%02d:%02d.%03d, ",
- DayStr[LOCALTime.wDayOfWeek], LOCALTime.wDay,
- MthStr[LOCALTime.wMonth-1], LOCALTime.wYear,
- LOCALTime.wHour, LOCALTime.wMinute, LOCALTime.wSecond,
- LOCALTime.wMilliseconds);
- fprintf(stderr, "\nAfter HTTP. Date: %s%s\n", timeBuf, tzoneBuf);
-
- if (AutoSyncTime == 3) {
- /* Synchronising computer clock */
- if (!SetSystemTime(&SYSTime)) { /* Set system time */
- fprintf(stderr, "ERROR: Unable to set system time.\n");
- RetValue = 1;
- }
- else {
- /* Successfully re-adjusted computer clock */
- GetLocalTime(&LOCALTime);
- snprintf(timeBuf, 60, "%s, %02d %s %04d %02d:%02d:%02d.%03d, ",
- DayStr[LOCALTime.wDayOfWeek], LOCALTime.wDay,
- MthStr[LOCALTime.wMonth-1], LOCALTime.wYear,
- LOCALTime.wHour, LOCALTime.wMinute, LOCALTime.wSecond,
- LOCALTime.wMilliseconds);
- fprintf(stderr, "\nNew System's Date: %s%s\n", timeBuf, tzoneBuf);
- }
- }
-
- /* Cleanup before exit */
- conf_init(conf);
- curl_easy_cleanup(curl);
- }
- return RetValue;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/threaded-ssl.c b/plugins/FTPFileYM/curl/docs/examples/threaded-ssl.c
deleted file mode 100644
index a7e9c2de16..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/threaded-ssl.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-/* A multi-threaded example that uses pthreads and fetches 4 remote files at
- * once over HTTPS. The lock callbacks and stuff assume OpenSSL or GnuTLS
- * (libgcrypt) so far.
- *
- * OpenSSL docs for this:
- * http://www.openssl.org/docs/crypto/threads.html
- * gcrypt docs for this:
- * http://gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html
- */
-
-#define USE_OPENSSL /* or USE_GNUTLS accordingly */
-
-#include <stdio.h>
-#include <pthread.h>
-#include <curl/curl.h>
-
-#define NUMT 4
-
-/* we have this global to let the callback get easy access to it */
-static pthread_mutex_t *lockarray;
-
-#ifdef USE_OPENSSL
-#include <openssl/crypto.h>
-static void lock_callback(int mode, int type, char *file, int line)
-{
- (void)file;
- (void)line;
- if (mode & CRYPTO_LOCK) {
- pthread_mutex_lock(&(lockarray[type]));
- }
- else {
- pthread_mutex_unlock(&(lockarray[type]));
- }
-}
-
-static unsigned long thread_id(void)
-{
- unsigned long ret;
-
- ret=(unsigned long)pthread_self();
- return(ret);
-}
-
-static void init_locks(void)
-{
- int i;
-
- lockarray=(pthread_mutex_t *)OPENSSL_malloc(CRYPTO_num_locks() *
- sizeof(pthread_mutex_t));
- for (i=0; i<CRYPTO_num_locks(); i++) {
- pthread_mutex_init(&(lockarray[i]),NULL);
- }
-
- CRYPTO_set_id_callback((unsigned long (*)())thread_id);
- CRYPTO_set_locking_callback((void (*)())lock_callback);
-}
-
-static void kill_locks(void)
-{
- int i;
-
- CRYPTO_set_locking_callback(NULL);
- for (i=0; i<CRYPTO_num_locks(); i++)
- pthread_mutex_destroy(&(lockarray[i]));
-
- OPENSSL_free(lockarray);
-}
-#endif
-
-#ifdef USE_GNUTLS
-#include <gcrypt.h>
-#include <errno.h>
-
-GCRY_THREAD_OPTION_PTHREAD_IMPL;
-
-void init_locks(void)
-{
- gcry_control(GCRYCTL_SET_THREAD_CBS);
-}
-
-#define kill_locks()
-#endif
-
-/* List of URLs to fetch.*/
-const char * const urls[]= {
- "https://www.example.com/",
- "https://www2.example.com/",
- "https://www3.example.com/",
- "https://www4.example.com/",
-};
-
-static void *pull_one_url(void *url)
-{
- CURL *curl;
-
- curl = curl_easy_init();
- curl_easy_setopt(curl, CURLOPT_URL, url);
- /* this example doesn't verify the server's certificate, which means we
- might be downloading stuff from an impostor */
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
- curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
- curl_easy_perform(curl); /* ignores error */
- curl_easy_cleanup(curl);
-
- return NULL;
-}
-
-int main(int argc, char **argv)
-{
- pthread_t tid[NUMT];
- int i;
- int error;
- (void)argc; /* we don't use any arguments in this example */
- (void)argv;
-
- /* Must initialize libcurl before any threads are started */
- curl_global_init(CURL_GLOBAL_ALL);
-
- init_locks();
-
- for(i=0; i< NUMT; i++) {
- error = pthread_create(&tid[i],
- NULL, /* default attributes please */
- pull_one_url,
- (void *)urls[i]);
- if(0 != error)
- fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
- else
- fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]);
- }
-
- /* now wait for all threads to terminate */
- for(i=0; i< NUMT; i++) {
- error = pthread_join(tid[i], NULL);
- fprintf(stderr, "Thread %d terminated\n", i);
- }
-
- kill_locks();
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/url2file.c b/plugins/FTPFileYM/curl/docs/examples/url2file.c
deleted file mode 100644
index 64d27c88f2..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/url2file.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at http://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <curl/curl.h>
-
-static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
-{
- size_t written = fwrite(ptr, size, nmemb, (FILE *)stream);
- return written;
-}
-
-int main(int argc, char *argv[])
-{
- CURL *curl_handle;
- static const char *pagefilename = "page.out";
- FILE *pagefile;
-
- if(argc < 2 ) {
- printf("Usage: %s <URL>\n", argv[0]);
- return 1;
- }
-
- curl_global_init(CURL_GLOBAL_ALL);
-
- /* init the curl session */
- curl_handle = curl_easy_init();
-
- /* set URL to get here */
- curl_easy_setopt(curl_handle, CURLOPT_URL, argv[1]);
-
- /* Switch on full protocol/debug output while testing */
- curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 1L);
-
- /* disable progress meter, set to 0L to enable and disable debug output */
- curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L);
-
- /* send all data to this function */
- curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data);
-
- /* open the file */
- pagefile = fopen(pagefilename, "wb");
- if (pagefile) {
-
- /* write the page body to this file handle. CURLOPT_FILE is also known as
- CURLOPT_WRITEDATA*/
- curl_easy_setopt(curl_handle, CURLOPT_FILE, pagefile);
-
- /* get it! */
- curl_easy_perform(curl_handle);
-
- /* close the header file */
- fclose(pagefile);
- }
-
- /* cleanup curl stuff */
- curl_easy_cleanup(curl_handle);
-
- return 0;
-}
diff --git a/plugins/FTPFileYM/curl/docs/examples/version-check.pl b/plugins/FTPFileYM/curl/docs/examples/version-check.pl
deleted file mode 100644
index 92f0808d61..0000000000
--- a/plugins/FTPFileYM/curl/docs/examples/version-check.pl
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/env perl
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at http://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-###########################################################################
-
-# This script accepts a source file as input on the command line.
-#
-# It first loads the 'symbols-in-versions' document and stores a lookup
-# table for all known symbols for which version they were introduced.
-#
-# It then scans the given source file to dig up all symbols starting with CURL.
-# Finally, it sorts the internal list of found symbols (using the version
-# number as sort key) and then it outputs the most recent version number and
-# the symbols from that version that are used.
-#
-# Usage:
-#
-# version-check.pl [source file]
-#
-
-open(S, "<../libcurl/symbols-in-versions") || die;
-
-my %doc;
-my %rem;
-while(<S>) {
- if(/(^CURL[^ \n]*) *(.*)/) {
- my ($sym, $rest)=($1, $2);
- my @a=split(/ +/, $rest);
-
- $doc{$sym}=$a[0]; # when it was introduced
-
- if($a[2]) {
- # this symbol is documented to have been present the last time
- # in this release
- $rem{$sym}=$a[2];
- }
- }
-
-}
-
-close(S);
-
-sub age {
- my ($ver)=@_;
-
- my @s=split(/\./, $ver);
- return $s[0]*10000+$s[1]*100+$s[2];
-}
-
-my %used;
-open(C, "<$ARGV[0]") || die;
-
-while(<C>) {
- if(/\W(CURL[_A-Z0-9v]+)\W/) {
- #print "$1\n";
- $used{$1}++;
- }
-}
-
-close(C);
-
-sub sortversions {
- my $r = age($doc{$a}) <=> age($doc{$b});
- if(!$r) {
- $r = $a cmp $b;
- }
- return $r;
-}
-
-my @recent = reverse sort sortversions keys %used;
-
-# the most recent symbol
-my $newsym = $recent[0];
-# the most recent version
-my $newver = $doc{$newsym};
-
-print "The scanned source uses these symbols introduced in $newver:\n";
-
-for my $w (@recent) {
- if($doc{$w} eq $newver) {
- printf " $w\n";
- next;
- }
- last;
-}
-
-